Variablenzuweisung zu Link
George
- php
0 Odium0 Bernhard Mecl0 George
Guten Morgen,
Folgendes problemchen:
Ich lasse von einer mysql tabelle 4 Spalten (Name,Vorname, Ort & ID) auslesen, wobei ich nur 3 anzeigen lasse.
hoffe das wird jetzt gescheit angezeigt).
Name Vorn Ort
----------------------------------------
Müller Hans A [mehr ..]
Meier Fitz B [mehr ..]
Fischer Stefan C [mehr ..]
nun habe ich einen Link der nennt sich [mehr..] und sitzt nach den der aus mysql ausgeleser Tabelle.
Meine Frage ist jetzt, wie kann ich die "ID" dem Link [mehr..] zuweisen, sodaß eine Seite auswahl.php geöffnet werden kann bei der über die "id" kennung weitere Daten speziell dazu aus mysql heruntergeladen werden können.
Ausschnitt aus Quellcode:
while($row = mysql_fetch_row($result)) {
echo "<tr>";
for($i=0; $i < mysql_num_fields($result)-1; $i++) {
echo "<td class='text'>$row[$i] </td>";
}
echo "<td class='text'> <a href=ausgabe.php?name=$id>[mehr...]</a></td>";
echo "</tr>\n";
}
Vielen Dank im Vorraus für Kennertips
George
Hallo,
echo "<td class='text'> <a href=ausgabe.php?name=$id>[mehr...]</a></td>";
du hast es doch fast schon...
nur noch die unterscheidung zwischen festem text und php variablen...
echo '<td class="text"> <a href="ausgabe.php?name=' . $id . '">[mehr...]</a></td>';
wenn du diesen link aufrufst müßte dann auf eine seite z.B.
ausfageb.php=name=24 weitergeleitet werden...
die 24 oder eben die entsprechende ID des Datensatzes kannst du über dann "getten"
Odium
wie kann ich die "ID" dem Link [mehr..] zuweisen, sodaß eine Seite
auswahl.php geöffnet werden kann bei der über die "id" kennung
weitere Daten speziell dazu aus mysql heruntergeladen werden können.
[...]
<a href=ausgabe.php?name=$id>[mehr...]</a>
Abgesehn davon, daß Du einmal von auswahl.php und einmal von ausgabe.php sprichst, hast Du Dir die Antwort auf Deine Frage ja schon selbst gegeben!?
P.S.: mysql_fetch_assoc() oder mysql_fetch_object() sind um einiges flexibler als mysql_fetch_row(), außerdem wird der code leichter lesbar:
while($row=mysql_fetch_object($result)) {
?>
<tr>
<td class="text"><?=row->name?> </td>
<td class="text"><?=row->vorn?> </td>
<td class="text"><?=row->ort?> </td>
<td class="text"> <a href="auswahl.php?id=<?=$row->id?></td>
</tr>
<?
}
In der auswahl.php kannst Du dann weitere Felder mit der Klausel WHERE id=$_GET['id'] SELECTen.
P.P.S.: Wenn Du jetzt noch Deine in ein CSS padding-Attribut überführst und die Klasse "text" so abänderst, daß man sie dem <tr> geben kann, wäre der code perfekt ;->
Vielen Dank für die Tips,
Ich habe jedoch die Reinfolge etwas geändert und den Links gleich im Namen eingebaut.
interessant ist die konstelation schon, da ich nicht gewußt habe, daß man die Anführungszeichen in href nicht schliessen muß.
So funktioniert es ohne probleme.
while($row = mysql_fetch_object($result)) {
?>
<tr>
<td class="daten"><a href="ausgabe.php?id=<?=$row->id?> </td>
<td class="daten"><?=$row->Name?></a></td>
<td class="daten"><?=$row->Vorn?></td>
<td class="daten"><?=$row->Ort?></td>
</tr>
<?
}
Kleine Frage am Rande:
im url steht jetzt nun folgendes:
http://localhost/myroot/pages/ausgabe.php?id=99%20</td>%20%20<td%20class=
Was kann ich nun tun, damit er nur das " %20</td>%20<td%20class= " im url nicht anzeigt.
(Weglassen habe ich schon probiert, aber daß will er net)
lg
George
interessant ist die konstelation schon, da ich nicht gewußt habe,
daß man die Anführungszeichen in href nicht schliessen muß.
Die muß man natürlich schließen, mein Fehler.
<a href="ausgabe.php?id=<?=$row->id?">
<a href="ausgabe.php?id=<?=$row->id?">
<a href="ausgabe.php?id=<?=$row->id?>">
^ mein Fehler^2 *überaus peinlich*
<a href="ausgabe.php?id=<?=$row->id?">
<a href="ausgabe.php?id=<?=$row->id?>">
^ mein Fehler^2 *überaus peinlich*
Gar nix peinlich, danke für den tip. aber ich werde es trotzdem offen lassen, denn so setze ich gleich auf den Namen,die $id (habe ja den Link vorgezogen und ebenso </a> erst nach den Namen geschlossen.
Das was im url steht kann man ja dank frames sowieso nicht lesen, und die $id auf der folgenden seite erkennt er auch.
THX Nocheinmal,
Schönes WE
George
aber ich werde es trotzdem offen lassen,
denn so setze ich gleich auf den Namen [...]
Bitte nicht! Ich kann nicht gut schlafen, wenn ich durch einen Patzer meinerseits nicht validierenden code mitverantworten zu habe ;->
Bitte so (ich glaube, das ist, was Du willst):
<tr>
<td class="text"><a href="auswahl.php?id=<?=$row->id?>"><?=$row->name?></a></td>
<td class="text"><?=$row->vorn?></td>
<td class="text"><?=$row->ort?></td>
</tr>