aus Liste auslesen

strolch_007

Mitglied
hallo,

ich lese mit einem Select aus der DB verschiedne Daten aus und gebe diese dann per echo in einer while_Schleife aus. Funktioniert ja auch alles ganz wunderprächtig.

Aus dieser Ausgabe ergeben sich jetzt meinetwegen drei Zeilen in der Form:

1.Zeile: ein Username Wohnort
2. Zeile: ein anderer Username Wohnort
3. Zeile: noch ein Username Wohnort

Ende while-Schleife

Der "Zeiger" bleibt logischerweise bei der letzten Ausgabe stehen. So wie bring ich es nun fertig z.B. "ein Username" aus der 1. Zeile per <a bref.... (das ist zwingend hier) anzusprechen das genau auch dieser Datensatz mit irgendwelchen Zusatzdaten in einem neuen Fenster geöffnet wird? Nicht nur immer der letzte. Ist hier eher $_get oder hidden mein Freund? mit beiden hab ich schon gebastel komm aber nicht so richtig zu Zuschusse. Bitte keine Hinweise auf Javascript. Javascript soll außen vor bleiben.
Würde mich über einen Gedankenanstoss freuen.

Lg
strolch_007
 
Hier ein Beispiel:

PHP:
$query = "SELECT * FROM my_users";
$result= mysql_query($query);

while($row= mysql_fetch_row($result))
{
    echo '<a href="users.php?username=' . $row['username'] . '" target="_blank">' . $row['username'] . '</a><br/>';
}

Damit bekommst du eine Liste von Links, die sich alle in einem neuen Fenster öffnen. Die URL in dem neuen Fenster lautet dann beispielsweise http://www.meineseite.de/users.php?username=saftmeister.

Der Sourcecode in users.php könnte dann so aussehen:

PHP:
$query = "SELECT * FROM my_users WHERE username = '" . mysql_real_escape_string($_GET['username']) . "'";

$result = mysql_query($query);

/** Hier noch prüfen ob der result nicht null ist, evtl auch mysql_error() einbauen **/

$row = mysql_fetch_row($result);
echo "Username: " . $row['username'] . "<br/>Wohnort: " . $row['wohnort'] . "<br/>Sonstige Angaben: " . $row['additional_data'];

Dieser Code ist natürlich nur sehr rudimentär. Soll nur ein Denkanstoß sein, wie man es machen _könnte_.
 
Ganz genau schreibe einfach in dei while-Schleife alles was du brauchst!

Möchtest du hingegen gar nicht alle auswählen sondern brauchst nur den ein oder andern, dann ist die WHERE-Bedingung eine gute Möglichkeit.

Eine andere Löglichkeit wäre, du speicherst alle gefundenen Einträge aus der Datenbank in ein Array. Dann kannst du auch ganz gezielt beispielsweise die erste Zeile ansprechen!

PHP:
$query = "SELECT * FROM my_users";
$result= mysql_query($query);
$i = 0;
while($row= mysql_fetch_row($result))
{
    $USER[$i] = '<a href="users.php?username=' . $row['username'] . '" target="_blank">' . $row['username'] . '</a><br/>';

//     $ort = $row['wohnort'];
//     $USER[$ort][$i] = '<a href="users.php?username=' . $row['username'] . '" target="_blank">' . $row['username'] . '</a><br/>';

    $i++;
}
 
Hallo,

vielen Dank für eure Antworten. Die "Geschichte" mit der while - Schleife ist mir natürlich mittlerweile geläufig:-). Das mit dem target_blank ist eine schöne Sache ich habs allerdings ein wenig geändert das die Ausgabe bei klick auf bref... auf der gleichen Seite erscheint. - Unter der mit while ausgelesenen Tabelle
War bei mir ein dummer SELECT Fehler weil ich immer nur die letzte bref - Zeile aus der Liste ausgelesen habe ( wer mit WHERE arbeitet ist schlauer :-) ). Jetzt funktioniert das wunderbar.
Vielen Dank nochmal für eure Hilfe.

lg
strolch_007
 
Zuletzt bearbeitet:
Gern geschehen. Allerdings amüsiere ich mich gerade über dein konsequentes Falschschreiben des href-Tag-Arguments für <a>. Also <a> steht für Ancor (Anker) und href ist eine Abkürzung, die für hyper-reference also ein Verweis (Link) im HTT-Protokoll. Ich will dich nur darauf hinweisen, das du nicht irgendwann auf die Idee kommen solltest <a bref="..."> zu schreiben, da dies bestimmt nicht funktionieren wird.
 
hallo Saftmeister,

auf das wir was zum lachen haben :-)

Allerdings amüsiere ich mich gerade über dein konsequentes Falschschreiben des href-Tag-Arguments für <a>

Ja ich weiß! Hab ich schlampig hier rein gechrieben, weil ich mir dachte das man genau weiß um was es geht. Mach dir keine Sorge und hab keine schlechten Träume deswegen :-) Mir ist der <a bref....> durchaus klar und mach bei mir auch alles richtig. Nur hier im Forum hab ich halt etwas geschlampt .

Also nix für ungut

lg
strolch_007
 
Zurück