George: Variablenzuweisung zu Link

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

  1. 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

  2. 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 ;->

    1. 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

      1. 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?">

        1. <a href="ausgabe.php?id=<?=$row->id?">

          <a href="ausgabe.php?id=<?=$row->id?>">
                                              ^ mein Fehler^2 *überaus peinlich*

          1. <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

            1. 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>