Link mit mehreren Variablen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Link mit mehreren Variablen

    Hallo Leute ! ;-)


    Vielleicht kann mir ja jemand helfen.
    Ich bin noch ziemlich neu mit PHP und schreibe gerade
    ein Adressbuch. Die Adressdaten werden auf MySQL
    abgespeichert und sollen auf einer Seite
    als ein Liste nach dem Schema Vorname/Name dargestellt werden.

    Z.B.:

    Hans Mustermann
    Heinrich Testperson
    etc.
    etc.
    etc.

    Die Daten der Liste rufe ich per PHP immer direkt von
    MySQL ab und stelle sie auch mit PHP dar. Bis dahin ist alles kein Problem.
    Ungefähr so :
    echo $zeile["vorname"],"",$zeile["name´"];

    Nun möchte ich aber die Namen als Link darstellen. Wird auf
    einen der Namen geklickt, soll separat in einem Fenster die komplette Adresse dargestellt werden.
    Im Link muß Variable enthalten sein über die dann MySQL die Anweisung enthält die gesamte Adresse
    darzustellen und außerdem die beiden Variablen(Vorname/Nachname) welche als sichtbarer Linktext erscheinen.

    Mein Problem ist nun wie ich genau diesen Link in PHP
    zu schreiben habe.

    Ich nehme an die Sache ist eigentlich ein Kinderspiel,
    ich komme aber leider einfach nicht drauf ...

    Vielleicht habt Ihr ja ein paar Tips, Empfehlungen oder Ideen.


    viele Grüße und besten Dank, Jobst ;-)

  • #2
    <? while ($data = mysql_fetch_array($result)) { ?>
    <tr bgcolor="#000000">
    <td><font color=red face=Verdana size=3>
    <DIV align=center><b>
    <a href="daten.php?userid=<? echo $data[userid];?>"><? echo $data[nick]; ?>
    </a></b></DIV></FONT></td>
    </tr>
    <? } ?>

    Als erstes lieste erstmal alle Namen mit einer while schleife aus, in dem du einen link einbaust so wie oben, wenn man jetzt auf den link klickt, wird die userid an die datei daten.php ausgegebn, mit der du dann weiter arbeiten kannst...

    Kommentar


    • #3
      @DeathCraze
      vorausgesetzt er hat eine ID in der DB für jeden user. ich denke nämlich, dass er das nicht hat. wozu braucht er denn sonst den namen zur übergabe ..

      @jobst1111
      falls dem so ist, wie oben beschrieben ... einfach noch ein feld der tabelle hinzufügen.

      das feld sollte PRIMARY sein.
      ein AUTOINCREMENT macht auch sinn.

      dann hast du für jeden user eine eindeutige ID, die du mit dem anzeigescript für die ganze adresse optimal verwenden kannst.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        ich bin da jetzt mal von ausgegangen da man das normalerweise so macht, da man die dann eindeutig einer id zuordnen kann, es kann ja sein, das es mal 2 die gleichen namen gibt

        Kommentar


        • #5
          IdR (voll das schöne Wort ) gibt man auch jedem Datensatz eine ID. Anders ist man das auch gar nicht gewohnt.

          Kommentar


          • #6
            Alles funktioniert ;-)

            Hallo und vielen Dank für Eure Antworten ! ;-)


            Ich habe den Code von 'DeathCraze' probiert und alles funktioniert wie Zucker ;-)
            Jetzt werde ich nur noch dem Script daten.php mitteilen daß an anderer Stelle im Frameset
            per SQL-Anweisung die komplette Adresse angezeigt werden soll .

            PHP macht echt Spaß und noch viel mehr Spaß macht es sich mit Leuten im Forum zu unterhalten !!! ;-)
            Auf jeden Fall vielen Dank für Eure Antworten ! ;-)

            Bis dann, Grüße Jobst ;-)

            Kommentar


            • #7
              OT:
              Wie funktioniert denn Zucker?
              "daß" *haarezubergesteh* -> dass

              Kommentar


              • #8
                er wollte in wirklichkeit deutschlehrer werden

                Kommentar


                • #9
                  Hallo Leute ;-)


                  Ich hab da noch eine Frage,


                  Den bisher besprochenen Link habe ich so geschrieben :

                  <a href="AdressenAnzeigen.php?id=<? echo $daten[id];?>" target="untenrechts">
                  <? echo $daten[vorname];?>&nbsp;
                  <? echo $daten[name];?>

                  der Link befindet sich im linken Framesetfenster,beim drücken des Links soll im rechten Framesetfenster die vollständige Adresse angezeigt werden (deshalb target="untenrechts").
                  Die rechte Framesetseite soll von der Seite 'AdressenAnzeigen.php' dargestellt werden.

                  Drück ich den Link wird im rechten Frameset-Fenster auch die Seite 'AdressenAnzeigen.php' ausgeführt. Wie teile ich nun aber dieser Seite mit auf welche 'id' sich die Ausgabe beziehen soll, d.h. welche Adresse dargestellt werden soll ?

                  Mit diesem Code werden dann einfach nur Vorname und Name aller Adressen ausgegeben. Das ist klar :

                  <? while ($daten = mysql_fetch_array($result)) { ?>

                  <tr>
                  <td><font face=Verdana size=3>
                  <DIV align=left><b>
                  <? echo $daten[vorname];?>&nbsp;
                  <? echo $daten[name];?>
                  </a></b></DIV></FONT></td>
                  </tr>
                  <? } ?>



                  Nur, wie gesagt, wie kann ich php sagen daß es sich auf die eine bestimmte 'id' der letzten Seite beziehen soll ?

                  $daten[id] funktioniert nicht ... es wird dann gar nichts ausgegeben :
                  <? while ($daten[id] = mysql_fetch_array($result)) { ?>


                  Grüße, Jobst ;-)

                  Kommentar


                  • #10
                    hmm das is ja auch ganz falsch !

                    Du machst als erstes ne datei die die links erstellt :

                    PHP-Code:
                    mysql_connect($sqlhost,$sqluser,$sqlpass) OR DIE( "Kann nicht zum MySQL server connecten!");
                    mysql_select_db($database) or DIE( "Keine Datenbank erreichbar!" );
                    $result=mysql_db_query("$database", "select * from tabellename");

                    dann machste ne schleife die dir dei ganzen links ausgibt :

                    <? 
                    while ($daten = mysql_fetch_array($result)) 

                    ?>
                    <tr bgcolor="#000000">
                    <td>
                    <DIV align=center>
                    <a href="AdressenAnzeigen.php?id=<? echo $daten[id];?>" target="untenrechts"><? echo $daten[vorname]; ?><? echo $daten[vorname]; ?>
                    </a></DIV>
                    </td>
                    </tr>
                    <? } ?>
                    In der Adressen anzeigen datei machste dann:

                    PHP-Code:
                    mysql_connect($sqlhost,$sqluser,$sqlpass) OR DIE( "Kann nicht zum MySQL server connecten!");
                    mysql_select_db($database) or DIE( "Keine Datenbank erreichbar!" );
                    $result=mysql_db_query("$database""select * from $tablename WHERE id='$id'");
                    $daten mysql_fetch_array($result);
                    .......... 
                    dann wieder ne schleife dir die die ganzen daten der jeweiligen person ausgibt !!

                    EDIT :
                    Aso die ID muss vorhanden sein !
                    Das ganze klappt nicht ohne das Feld ID in der Datenbank !

                    Kommentar


                    • #11
                      Danke Lösung gefunden !!!

                      Hallo DeathCraze ! ;-)

                      Du hast mir den entscheidenden Hinweis gegeben !

                      Es fehlte nur noch in der Datei AdressenAnzeigen.php die genaue SQL-Anweisung mit dem Hinweis auf '$id'.

                      $result = mysql_query("select * from kunden where id = '$id'", $db) .......

                      Ich hab jetzt erst mal Alles so wie ich es haben wollte. Auf der linken Seite im Frameset
                      werden die Namen der Personen im Adressbuch in Form einer Liste aufgelistet.
                      Klickt man einen der Namen an erscheint auf der rechten Seite im Frameset die vollständige Adresse. Super !

                      Also besten Dank nochmals,

                      Dir alles Gute und auch viel Erfolg beim Programmieren,

                      Bis dann, Grüße Jobst ;-)

                      Kommentar

                      Lädt...
                      X