mysql_query an Funktion übergeben

Hallo,

wie kann ich $search = mysql_query("SELECT ...") vom Hauptprogramm
aus an eine Funktion übergeben?

Ich habe schon versucht $search in der Funktion per GLOBAL zu verwenden
oder $search per Funktionsaufruf zu übergeben:

function starte_Funktion($search) {
while (ergebenis = mysql_fetch_array($search))
{
echo "Ergebnis: {$ergebnis[irgendwas]}<br>";
}
}

$search = mysql_query("SELECT ...")

starte_Funktion($search);

Die Schleife wird komischerweise so oft durchlaufen wie auch Einträge in
der Datenbank gefunden werden. Aber es erfolgt lediglich nur einmal die
Ausgabe
{$ergebnis[irgendwas]}.

Hat da jemand eine Idee?

Gruß Christopher
Christopher Jensen [ So, 02 Oktober 2005 21:38 ] [ ID #993861 ]

Re: mysql_query an Funktion übergeben

Falls es noch wichtig ist:

die Suchanfrage enthält u.a.
....WHERE plz LIKE '%".$_GET["plz"]."%'...
kann mir aber nicht vorstellen daß es damit
etwas zu tun hat, da ja der erste Eintrag
korrekt erfolgt...

Gruß Christopher
Christopher Jensen [ So, 02 Oktober 2005 21:44 ] [ ID #993862 ]

Re: mysql_query an Funktion übergeben

Christopher Jensen wrote:
> Hallo,
>
> wie kann ich $search = mysql_query("SELECT ...") vom Hauptprogramm
> aus an eine Funktion übergeben?
>
> Ich habe schon versucht $search in der Funktion per GLOBAL zu verwenden
> oder $search per Funktionsaufruf zu übergeben:
>
> function starte_Funktion($search) {
> while (ergebenis = mysql_fetch_array($search))
> {
> echo "Ergebnis: {$ergebnis[irgendwas]}<br>";
> }
> }

Der Tippfehler findet sich im Original nicht, oder?

> $search = mysql_query("SELECT ...")
>
> starte_Funktion($search);
>
> Die Schleife wird komischerweise so oft durchlaufen wie auch Einträge in
> der Datenbank gefunden werden. Aber es erfolgt lediglich nur einmal die
> Ausgabe
> {$ergebnis[irgendwas]}.

Woher weisst du denn wie oft die Schleife durchlaufen wird?

> Hat da jemand eine Idee?

Ressourcen kann man wie jedes andere Argument übergeben. *Das* sollte
passen.

Gruß, Gregor



--
Landschafts- und Reisefotografie * http://www.gregorkofler.at
Licht-Blick - Forum für Multivisionsvorträge * http://licht-blick.at
Gregor Kofler [ Mo, 03 Oktober 2005 17:39 ] [ ID #995250 ]

Re: mysql_query an Funktion übergeben

Lass die Schleife mal doch einfach mal ausserhalb der Funktion laufen, dann
wirst du sehen obs am Query liegt, auch wäre es warscheinlich sinnvoll,
direkt nach dem Query mal "print mysql_error();" zu benutzen. Das kann auch
schon viel Helfen.
Phaeilo [ Mo, 03 Oktober 2005 18:07 ] [ ID #995251 ]

Re: mysql_query an Funktion übergeben

Ich habe den Fehler gefunden, kann ihn aber mit meinem Verständnis
nicht ganz nachvollziehen:

Ich definiere am Anfang des Scriptes (falls es Fehler gibt, dann sind es
hier nur Tippfehler ;-) ):

$suche_1 = mysql_query("SELECT...");
$suche_2 = mysql_query("SELECT...");

Ich rufe nun die Schleifen auf:

while($ergebnis_1 = mysql_fetch_array($suche_1)) {
...irgendwas...
while($ergebnis_2 = mysql_fetch_array($suche_2)) {
...noch eine Ausgabe..
}
}

Die Schleife 1 läuft dann so oft wie ergebnis_1 = true, aber Schleife 2
nur einmal solange ergebnis_2 0 true.
Definiere ich suche_2 innehrhalb Schleife 1 mit mysql_query jedesmal
neu (genau das will ich aber vermeiden) funktioniert die Ausgabe.
reset($suche_2) funzt nicht, da es sich nicht um ein Array handelt.

Ich könnte nun ja auch die Ergebnisse aus suche_2 in ein eigenes Array
schreiben lassen und mit diesem arbeiten... aber gibt es vielleicht noch
eine
Möglichkeit mysql_query zurückzusetzen o.ä?

Gruß Christopher
Christopher Jensen [ Di, 04 Oktober 2005 07:39 ] [ ID #996825 ]

Re: mysql_query an Funktion übergeben

Hallo !

Christopher Jensen schrieb:
> Ich könnte nun ja auch die Ergebnisse aus suche_2 in ein eigenes Array
> schreiben lassen und mit diesem arbeiten... aber gibt es vielleicht noch
> eine
> Möglichkeit mysql_query zurückzusetzen o.ä?

http://php.net/mysql_data_seek

Alexander
Alexander Fleischer [ Di, 04 Oktober 2005 10:22 ] [ ID #996826 ]

Re: mysql_query an Funktion übergeben

> http://php.net/mysql_data_seek
>
> Alexander

Danke, so klappts!
Christopher Jensen [ Di, 04 Oktober 2005 13:08 ] [ ID #996829 ]
PHP » de.comp.lang.php.datenbanken » mysql_query an Funktion übergeben

Vorheriges Thema: ASCII to ANSI convert
Nächstes Thema: [FAQ/2005-10-02] Loesungen fuer deine PHP-Probleme