tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
407
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    keifler keifler ist offline Mitglied Bronze
    Registriert seit
    Dec 2010
    Ort
    Flawil
    Beiträge
    46
    der kunde wählt aus einer liste und klickt das gewünschte an. diese übergabe will ich über die id machen. aber irgendwo habe ich einen denkfehler

    while($row = mysql_fetch_object($ergebnis))
    {
    $id =$row->id;
    GLOBAL $id;
    echo '<center><table width="95%" border="1"><tr><td><form action="hotelseite.php" method="get">' . $row->name . '</td>
    <td>' . $row->ort . '<br>' . $row->strassenummer . '<br>' . $row->telefon . '<br>Zimmerpreise ab&nbsp;' . $row->preise . '&nbsp;CHF</td>
    <td><input name="' . $id . '" type="submit" value="ansehen"></form></td></tr>';
    }
    -------------------------------------------------------------------------
    und soll soll sie auf der nächsten seite angezeigt werden:
    ---------------------------------------------------------------------------
    require('verbindung.php');
    $id = $_GET["id"];
    $abfrage = "SELECT * FROM hotel WHERE ID = $id";
    $ergebnis = mysql_query("SELECT * FROM hotel ");
    while($row = mysql_fetch_object($ergebnis))...

    ich dachte jetzt zeigt er nur den entsprechenden datesatz an, aber er zeigt alles.... blöd...
     

  2. #2
    Avatar von ComFreek
    ComFreek ComFreek ist gerade online [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.364
    Blog-Einträge
    4
    Was soll den das GLOBAL $id bewirken?

    Bitte achte auf Groß- und Kleinschreibung und ein konkretes Problem könntest auch schildern!
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #3
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Bitte den Code formatiert in [PHP]mein Code[/PHP] setzen.
    So wie er jetzt da steht kann man das Ding kaum lesen
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  4. #4
    keifler keifler ist offline Mitglied Bronze
    Registriert seit
    Dec 2010
    Ort
    Flawil
    Beiträge
    46
    nehme mir deinen hinweis zu herzen und versuche es richtig:
    und da du ja ganz in der nähe wohnst, kann ich mich endlich mal bei dir bedanken. wenn der schnee weg ist bringe ich dir einen schönen selbstgebackenen kuchen...

    hier mein vollst. quellcode der alles hotels auflistet die in der datenbank stehen. Am ende jeders aufgelisteten datensatzes ist ein button und wenn ich den klicke soll das gewählte hotel angezeigt werden.

    PHP-Code:
     require('verbindung.php');
          
    $abfrage "SELECT id, name, ort, strassenummer, telefon, preise, kanton  FROM hotel"//selektiere die spalte from der tabelle hotel

    $ergebnis mysql_query("SELECT id, name, ort, strassenummer, telefon, preise, kanton  FROM hotel");
    while(
    $row mysql_fetch_object($ergebnis))
      { 
    $id =$row->id;
      GLOBAL 
    $id;   
      echo 
    '<center><table width="95%"  border="1"><tr><td><form action="hotelseite.php" method="get">' $row->name '</td>
                  <td>' 
    $row->ort '<br>' $row->strassenummer '<br>' $row->telefon '<br>Zimmerpreise ab&nbsp;' $row->preise '&nbsp;CHF</td>
      <td><input name="' 
    $id '" type="submit" value="ansehen"></form></td></tr>';

    mysql_close(); 
    nun die seite auf der das gewählte hotel angezeigt werden soll, das erfolgt über die id. die global brauche ich um sie später, ausserhalb der while weiterzuverwenden.
    PHP-Code:
    require('verbindung.php');
         
    $id $_GET["id"];
    $abfrage "SELECT * FROM hotel WHERE ID = $id";  //selektiere die spalte * from der tabelle hotel  " . (int) $_GET['id'];
    $ergebnis mysql_query("SELECT * FROM hotel "); 
         while(
    $row mysql_fetch_object($ergebnis))
      {
        echo  
    '<h1>' $row->name '</h1><br> <td width="43%" align="left"><table width="90%"  border="0" cellpadding="0" cellspacing="3" class="smalltext">
            <tr>
              <td>Ort</td>
              <td>' 
    .  $row->ort '</td>
            </tr>
            <tr>
              <td width="42%">Adresse</td>
              <td width="58%">' 
    .  $row->strassenummer '</td>
            </tr>
            <tr>
              <td>Telefonnummer</td>
              <td>' 
    .  $row->telefon '</td>
            </tr>
            <tr>
              <td>Mail</td>
              <td>' 
    .  $row->mail '</td>
            </tr>
            <tr>
              <td><span class="smalltext">Internet</td>
              <td>' 
    .  $row->internet '</td>
            </tr>
          </table></td> <td width="12%"><center>
          <img src="images/fileprint.png" width="40" height="40" class="smalltext">diese Seite drucken
        </center>
          </td>
      </tr>
      <tr>
        <td colspan="3" align="left">' 
    .  $row->beschreibung '</td>
      </tr>
      <tr>
        <td colspan="3" align="left"><h4>Besonderheiten:</h4>' 
    .  $row->besonderheiten '</td>'
        
    $mail $row->mail;
        GLOBAL 
    $mail;
          
    $id =$row->id;
      GLOBAL 
    $id;
         } 
        
    mysql_close(); 
     

  5. #5
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    item: Beim zweiten PHP-Code erstellst du ein $abfrage mit der id als Kriterium.
    Warum führst du dann aber mysql_query() auf ein neues SQL ohne Filter aus und nicht auf $abfrage?

    PHP-Code:
    $abfrage "SELECT * FROM hotel WHERE ID = $id"
    //Diese Zeile ist mMn falsch:
    $ergebnis mysql_query("SELECT * FROM hotel ");
    //und sollte so aussehen
    $ergebnis mysql_query($abfrage); 
    item: De ID ist auch ausserhalb der while-schleife gültig ohjne globals. Das brauchst du eher bei functions und classes.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  6. #6
    keifler keifler ist offline Mitglied Bronze
    Registriert seit
    Dec 2010
    Ort
    Flawil
    Beiträge
    46
    habe es geändert und es sieht jetzt so aus und ich bekomme folgende meldung:
    ------------------------------------------------------------------------------------------------------------------------
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/hotela/hotelseite.php on line 30
    ------------------------------------------------------------------------------------------------------------------------
    PHP-Code:
    require('verbindung.php');
         
    $id $_GET["id"];
    $abfrage "SELECT * FROM hotel WHERE ID = $id";  //selektiere die spalte * from der tabelle hotel  " . (int) $_GET['id'];
    $ergebnis mysql_query($abfrage);  
         while(
    $row mysql_fetch_object($ergebnis))
      {
        echo  
    '<h1>' $row->name '</h1><br> <td width="43%" align="left"><table width="90%"  border="0" cellpadding="0" cellspacing="3" class="smalltext">
            <tr>
              <td>Ort</td>
              <td>' 
    .  $row->ort '</td>
            </tr>
            <tr>
              <td width="42%">Adresse</td>
              <td width="58%">' 
    .  $row->strassenummer '</td>
            </tr>
            <tr>
              <td>Telefonnummer</td>
              <td>' 
    .  $row->telefon '</td>
            </tr>
            <tr>
              <td>Mail</td>
              <td>' 
    .  $row->mail '</td>
            </tr>
            <tr>
              <td><span class="smalltext">Internet</td>
              <td>' 
    .  $row->internet '</td>
            </tr>
          </table></td> <td width="12%"><center>
          <img src="images/fileprint.png" width="40" height="40" class="smalltext">diese Seite drucken
        </center>
          </td>
      </tr>
      <tr>
        <td colspan="3" align="left">' 
    .  $row->beschreibung '</td>
      </tr>
      <tr>
        <td colspan="3" align="left"><h4>Besonderheiten:</h4>' 
    .  $row->besonderheiten '</td>'
        
    $mail $row->mail;
        GLOBAL 
    $mail;
          
    $id =$row->id;
      GLOBAL 
    $id;
         } 
        
    mysql_close(); 
     

  7. #7
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Haha! Und wieder ien Fall für mein tutorial...
    Da die diese Art von Fragen sehr oft kommt, habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
    [PHP] [MySQL] Debug Queries
    Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.
    Damit wirst du merken, dass e sken $_GET['id'] gibt. Du msuchst die id nummer mit dem submit. Dein submittbutton hat so als Namen eine Nummer.
    Erweiterer dein Formular mit eine hidden-field für die id
    HTML-Code:
    <input type="hidden" name ="id" value="11" />
    <input name="submit" type="submit" value="ansehen" />
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  8. #8
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Du bekommst so nicht die ID des Hotels übermittelt. Lass dir mal den Wert von $_GET[id] oder die SQL Anweisung am Bildschirm ausgeben, dann wirst du sehen das da der Wert "ansehen" drin steht.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  9. #9
    keifler keifler ist offline Mitglied Bronze
    Registriert seit
    Dec 2010
    Ort
    Flawil
    Beiträge
    46
    Danke an alle...es ist soooo einfach. ich habe den Geistesblitz:
    in der ersten Seite werden die daten aus der datenbank ausgelesen und in varable umgewandelt. Dann werden die variable mit einem inputfeld ganz normal mit einem formular übergeben und in der 2. datei ist nix mit datenbank sondern einfach nur die formularausgabe über die variable... Natürlich ist jeder datensatz ein separates formular. Und das wir in der while schleife geschrieben...
    das einzige ich habe in den form-tag die id festgelegt, deren datensatz ausgegeben werden soll:
    PHP-Code:
    <form name="' . $id. '" method="post" action="zieldatei> 
     

Ähnliche Themen

  1. Variable von Seite an andere Seite übergeben..
    Von KleinesNadine im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.12.07, 13:18
  2. Antworten: 7
    Letzter Beitrag: 12.04.05, 17:23
  3. Werte an eine andere Seite übergeben
    Von realmontanakid im Forum .NET Archiv
    Antworten: 4
    Letzter Beitrag: 26.10.04, 08:58
  4. text an andere seite übergeben
    Von aTa im Forum ASP
    Antworten: 1
    Letzter Beitrag: 06.02.04, 15:56
  5. Arrays an andere Seite übergeben
    Von Patrom im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 03.01.04, 23:13

Stichworte