datenbank abfragen

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

  • datenbank abfragen

    Hallo zusammen,

    ich bin neu hier und hätte direkt meine erste frage. ich arbeite mich seit ein paar tagen in php ein. aber bin noch recht am anfang.
    ich bräuchte allerdings nun für eine website ein php-skript, dass datensätze auf einer datenbank bzw. einer tabelle abfragt.
    einiges hab ich schon gelernt aber komplett selbst programmieren schaff ich es leider noch nicht. das ganze soll etwa folgendermaßen aussehen.

    in der datenbank sind links gespeichert, also sollen z.B. die folgenden 5 felder - linkadresse, linkname, linkbeschreibung, linkwertung und linkherkunft aus der datenbank abgefragt und ausgegeben werden.
    am besten so, dass ich es schön in mein layout einbauen kann.

    meine bitte wäre jetzt, ich kann hier sicher von keinem erwarten, dass er mir eine solche abfrage programmiert aber vlt. gibt es ja jemanden, der ein skript in dieser art besitzt, dass er mir zur verfügung stellt und ich in meine seite einbinden kann?

    hab auch schon auf diversen seiten gesucht, auf denen skripte bereit gestellt werden, aber das war alles noch nicht das passende, meistens handelte es sich dabei direkt um linkdatenbanksysteme mit aufwendigen layout. so suchkatalogmäßig.

    aber bei mir solls erstmal nur eine datei sein die mir die links auf einer seite ausgibt. also am besten so puristisch und übersichtlich, dass ich es in ein xhtml / css layout problemlos einbauen kann.

    hoffe ich nerv hier nicht zu sehr als anfänger, würd mich echt freuen, wenn mir einer hilfestellung geben würde.

    vielen dank schon mal

    der manny

  • #2
    *verschieb zu den gesuchen*

    andererseits ist das doch eine schöne einstiegsaufgabe. geh mal auf www.schattenbaum.net/php/ da findest du einen brauchbaren einstieg in php+mysql
    Kissolino.com

    Kommentar


    • #3
      hi, yo eigentlich schon, werd mich da auch eingehender mit beschäftigen. auf schattenbaum war ich schon, is wirklich ne schöne seite, hab ich auch schon einiges von gelernt.

      brauch das grundgerüst für die abfrage recht bald und denk nicht dass ich es bis dahin schaffe. vieleicht hat ja jmd. was ähnliches?

      Kommentar


      • #4
        PHP-Code:
        <html>
        <head>
          <title>Datensaetze aus Tabelle auslesen</title>
        </head>
        <body>

        <?php
        // Sollen alle Datensaetze ausgegeben werden?
        // dann bauen wir uns erstmal eine HTML-Tabelle
        // damit das uebersichtlich ausgegeben werden kann
        ?>
        <table>
         <tr>
           <td>Linkadresse</td>
           <td>Linkname</td>
           <td>Linkbeschreibung</td>
           <td>Linkwertung</td>
           <td>Linkherkunft</td>
         </tr>

          <?php
          
        // Hier kommt die dafuer wichtige Abfrage
          
        $sql mysql_query("SELECT linkadresse,linkname,linkbeschreibung,linkwertung,linkherkunft
                              FROM "
        .$meiner_tabelle." ORDER BY linkwertung");
          
          while (
        $data mysql_fetch_assoc($sql))
                  
        // daten einer spalte werden in dem Array $data gespeichert
          
        {
             echo 
        "<tr>";
                echo 
        "<td>".$data["linkadresse"]."</td>";
                echo 
        "<td>".$data["linkname"]."</td>";
                echo 
        "<td>".$data["linkbeschreibung"]."</td>";
                echo 
        "<td>".$data["linkwertung"]."</td>";
                echo 
        "<td>".$data["linkherkunft"]."</td>";
             echo 
        "</tr>";
          }
          
        ?>
        </table>

        </body>
        </html>
        Zuletzt geändert von Boron; 04.03.2006, 10:16.

        Kommentar


        • #5
          Hallo Boron,

          erstmal vielen Dank, dass du dir die Mühe gemacht hast. Hoffe ich bin in irgendwann auch mal so weit, dass ich bißchen supporten kann.

          Habs auch direkt ausprobiert.

          Zusätzlich noch den Connect Befehl usw. weiter eingebaut, aber irgendwie will es noch nicht so ganz.
          Die Datei die ich benutze sieht also im Moment so aus, ich hoffe ich hab da nicht noch irgendwo n fehler rein gemacht. Vieleicht könntest du noch mal gucken?

          Bekomme immer die Fehlermeldung
          Parse error: parse error, unexpected T_DNUMBER in /verzeichnis/htdocs/abfrage.php on line 8

          Hab das Skript zusätzlich noch um ein Tabellenfeld erweitert, aber daran liegts ja nicht.

          PHP-Code:
          <html>
          <head>
            <title>Datensaetze aus Tabelle auslesen</title>
          </head>
          <body>

          <?php
          $link 
          mysql_connect(***.***.***.***,"domain.com","*****");
          if (! 
          $link)

          {
          //Hat nicht geklappt
          echo "Konnte keine Verbindung zum Host mit dem Benutzernamen und Passwort aufbauen";
          die;
          }

          if ( ! 
          mysql_select_db ("******"))
          {
          //Es hat nicht geklappt
          echo "Konnte die Datenbank nicht selecten".mysql_error();
          die;
          }



          <?
          php
          // Sollen alle Datensaetze ausgegeben werden?
          // dann bauen wir uns erstmal eine HTML-Tabelle
          // damit das uebersichtlich ausgegeben werden kann
          ?>
          <table>
           <tr>
             <td>ID</td>
             <td>Linkadresse</td>
             <td>Linkname</td>
             <td>Linkbeschreibung</td>
             <td>Linkwertung</td>
             <td>Linkherkunft</td>
           </tr>

            <?php
            
          // Hier kommt die dafuer wichtige Abfrage
            
          $sql mysql_query("SELECT ID,linkadresse,linkname,linkbeschreibung,linkwertung,linkherkunft
                                FROM "
          .$shoptable." ORDER BY linkwertung");
            
            while (
          $data mysql_fetch_assoc($sql))
                    
          // daten einer spalte werden in dem Array $data gespeichert
            
          {
               echo 
          "<tr>";
                  echo 
          "<td>".$data["ID"]."</td>";
                  echo 
          "<td>".$data["linkadresse"]."</td>";
                  echo 
          "<td>".$data["linkname"]."</td>";
                  echo 
          "<td>".$data["linkbeschreibung"]."</td>";
                  echo 
          "<td>".$data["linkwertung"]."</td>";
                  echo 
          "<td>".$data["linkherkunft"]."</td>";
               echo 
          "</tr>";
            }
            
          ?>
          </table>

          </body>
          </html>

          Kommentar


          • #6
            Du kannst eine IP nicht einfach so hinschreiben, ist ja keine Zahl. Pack sie in ', so wird ein String daraus.

            Ich habe den Thread nicht komplett gelesen, aber falls es die IP des eigenen Hosts ist (127.0.0.1 oder die WAN-IP), dann verbinde besser zu 'localhost' - das klappt auch, wenn der DB-Server nur über Socket erreichbar ist. (Siehe Manual zu mysql_connect.)

            Übrigens kannst du statt echo '...'; die; auch einfach die('...'); nutzen.
            Zuletzt geändert von onemorenerd; 05.03.2006, 13:41.

            Kommentar


            • #7
              Super, danke für die schnelle Antwort, hab ich auch direkt gemacht, zumindest scheint er das Skript jetzt auch schon mal weiter zu bearbeiten, aber jetzt gibt er mir noch eine andere fehlermeldung aus:



              Parse error: parse error, unexpected '<' in /verzeichnis/htdocs/abfrage.php on line 26
              Zuletzt geändert von mannymanny; 05.03.2006, 15:29.

              Kommentar


              • #8
                Jo klar. Schau doch mal in Linie 26...

                20 echo "Konnte die Datenbank nicht selecten".mysql_error();
                21 die;
                22 }
                23
                24
                25
                26 <?php
                27 // Sollen alle Datensaetze ausgegeben werden?
                Und was fällt dir auf?

                PHP-Tags sind schon geöffnet, also nimm das <?php einfach weg.

                Kommentar


                • #9
                  Ja stimmt. Danke, hatte ganz übersehen, dass der andere php Tag nicht geschlossen wurde vorher.

                  Bekomme jetzt allerding wieder eine Fehlermeldung:

                  Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /verzeichnis/htdocs/abfrage.php on line 46

                  muss dann irgendwas mit dieser stelle zu tun haben

                  PHP-Code:
                  while ($data mysql_fetch_assoc($sql))
                            
                  // daten einer spalte werden in dem Array $data gespeichert 

                  kann das an den formaten der felder liegen? Oder hat es irgend etwas mit der tabelle in der Datenbank zu tun, hab im Anhang mal einen phpmyadmin screenshot von der entsprechenden tabelle angefügt. stimmen sind da vlt. formate der felder zum skript nicht passend?
                  Angehängte Dateien
                  Zuletzt geändert von mannymanny; 05.03.2006, 22:30.

                  Kommentar


                  • #10
                    Die "Formate der Felder" spielen keine Rolle. Daran liegt's nicht.

                    $sql = mysql_query("SELECT ID,linkadresse,linkname,linkbeschreibung,linkwertung,linkherkunft
                    FROM ".$shoptable." ORDER BY linkwertung");

                    Ist $shoptable auch deine Tabelle? Hast du der Variable wirklich deinen Tabellennamen zugeordnet? Weil, wenn das Script, das du oben gepostet hast, alles ist, dann sieht es nicht danach aus.

                    Übrigens musst du auf korrekte Klein- / Großschreibung bei den Feldernamen achten, aber so wie es da steht, ist es ja richtig.

                    Kommentar


                    • #11
                      ja, shoptable so heißt die tabelle in der die felder mit den datensätzen drin sind. woran könnte es sonst liegen?

                      Kommentar


                      • #12
                        Original geschrieben von mannymanny
                        supplied argument is not a valid MySQL result resource
                        Lesen!
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Sorry, bin ja noch recht neu hier.

                          habs jetzt gerade mal so gemacht wie beschrieben und es wird das folgende ausgegeben, vlt hilft das weiter?


                          You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY linkwertung' at line 2

                          Kommentar


                          • #14
                            Original geschrieben von mannymanny
                            habs jetzt gerade mal so gemacht wie beschrieben
                            Nein, noch nicht ganz - da steht auch, dass du dir die generierte Query zur Kontrolle ausgeben lassen sollst.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              äh, ehrlich gesagt versteh ichs noch nicht ganz, was damit gemeint ist.

                              ich hab aber den fehler gefunden, hab vor meinem tabellennamen das $ zeichen entfernt und jetzt funktionierts.




                              aber eine frage hätte ich noch, wenn ich jetzt noch den html code in der tabelle formatieren will und einfach noch den div align tag hinzufüge wie hier
                              PHP-Code:
                               echo "<td><div align="center">".$data["linkwertung"]."</td>"
                              dann gehts auf einmal wieder nicht mehr, kann mir einer sagen warum? liegts an den anführungszeichen der html syntax um center?

                              wie kann ich es jetzt machen, dass die ausgegebene linkadresse auch als link angezeigt wird? man müsste ja sicherlich den <a href="url"> einbauen, aber das wiederum krieg ich nicht hin, die anführungszeichen und open tags von html und php vermischen sich ungut?
                              Zuletzt geändert von mannymanny; 05.03.2006, 23:15.

                              Kommentar

                              Lädt...
                              X