Probleme mit richtiger Datenausgabe

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

  • Probleme mit richtiger Datenausgabe

    Hi leute,

    ich bin mir zwar nicht sicher ob das hier das richte forum ist, aber bei euch weiß ich dass man produktive antworten bekommt

    ich möchte gerne daten aus einer datenbank in ein <select> feld einbetten, wobei es nach dem Titel aufgelistet und nach der ID benannt wird (=value) Hier mein Versuch dazu. Leider wird halt hier jedesmal ein neues Select fenster erstellt. Geht das irgendwie auch in eins?

    Pls help me bin halt doch nochn noob

    Hier mein Versuch dazu

    PHP-Code:
    <?php
    include ("include_connect_db.php"); 
    $sql "SELECT  id, titel FROM news ORDER BY id DESC";
    $result mysql_query($sql) OR die(mysql_error());
    if(
    mysql_num_rows($result)) {


        while (list(
    $id,$titel) = mysql_fetch_row($result)) {
                    echo 
    "<form action='page_news_archive.php'>
                          <select size='1' name='openlinks'>
                          <option value='
    $id'>$titel
                          </select>
                          <br>
                    "
    ;
    }
    }
    ?>
    Das Formular brauch ich dann für weitere Schritte also nicht wundern warum ich das so gemacht habe


    Danke fürs Helfen

    k4in0

  • #2
    Leider wird halt hier jedesmal ein neues Select fenster erstellt. Geht das irgendwie auch in eins?
    Nicht nur das: Du erstellst sogar für jede Option neben einem eigenen SELECT ein eigenes FORMULAR
    Also form und select müssen aus der Schleife raus. Dort findet nur die Ausgabe der options und deren Inhalt statt.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Re: Probleme mit richtiger Datenausgabe

      PHP-Code:
      <?php
      include ("include_connect_db.php"); 
      $sql "SELECT  id, titel FROM news ORDER BY id DESC";
      $result mysql_query($sql) OR die(mysql_error());
      if(
      mysql_num_rows($result)) {

       echo 
      "<form action='page_news_archive.php'>
                            <select size='1' name='openlinks'>"
      ;

          while (list(
      $id,$titel) = mysql_fetch_row($result)) {
                     
                            echo
      "<option value=".$id.">".$titel."</option>";
                            
      }
      echo
      "</select><br>";
      }
      ?>
      "Nicht jeder Mensch kann und soll Programmieren[...]".

      Kommentar


      • #4
        Alternativ: fertige Funktion verwenden

        Ich verwende eine fertige Funktion dazu, die ich selbst erstellt habe:

        QB_TABLE2PULLDOWN


        Damit würde der gesamte Aufruf so aussehen:

        PHP-Code:
        <form action='page_news_archive.php'>
        <select name="openlinks">
          <?php
            
        echo QB_TABLE2PULLDOWN(
              
        'SELECT * FROM news ORDER BY id DESC'
              
        ,'titel'
              
        ,'id'
            
        );
          
        ?>
        </select>
        </form>
        Damit kannst du zwar nicht klassisch PHP programmieren lernen, aber du hast das gewünschte Ergebnis...

        Den Link zur Bibliothek schreibe ich hier auch rein, falls jemand danach fragt. Nicht dass es ein Admin als Spam versteht...

        Kommentar


        • #5
          Ich verwende eine fertige Funktion dazu, die ich selbst erstellt habe:
          Das hilft uns, und vor alldem dem TE, unglaublich (!) weiter. Nicht das der TE schon fertigen Code hat oder so. Nein irgendwelche selbst gebastelten Funktionen müssen herhalten (siehe mysql_ecscape_string ...) von denen keiner den Inhalt kennt.
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar


          • #6
            Original geschrieben von tontechniker
            Das hilft uns, und vor alldem dem TE, unglaublich (!) weiter. Nicht das der TE schon fertigen Code hat oder so. Nein irgendwelche selbst gebastelten Funktionen müssen herhalten (siehe mysql_ecscape_string ...) von denen keiner den Inhalt kennt.
            Ach Gottchen... manchmal ist wohl schwer zu verkraften, dass es bereits Lösungen für vieles gibt, was hier 10 x die Woche jedes mal aufs Neue gefragt und diskutiert wird. Aber vielleicht soll es ja so sein... Dass alle CMS usw. auf selbst gebastelte Funktionen beruhen, stört ja normalerweise auch keinen, oder?

            Warum diese Funktion, die genau das macht was benötigt wird, hier nicht hilfreich sein soll, wirst Du mir wahrscheinlich nicht erklären wollen.

            Kommentar


            • #7
              Warum diese Funktion, die genau das macht was benötigt wird, hier nicht hilfreich sein soll, wirst Du mir wahrscheinlich nicht erklären wollen.
              1. postest du den Namen der Funktion, der Inhalt bleibt verborgen.
              2. hilft es einem TE der gerade PHP nicht wenn er irgendwelche fertigen Funktionen benutzt, die in diesem Fall nicht mal anpassbar sind. (was passiert wenn jetzt Datenbankabstraktion benutzen möchte?)
              3. gehe ich mal davon aus das die Funktion weder Performance noch sinnvoll ist und man sich ohne einiges sparen kann.
              4. propagandierst du irgendwelche Bibliotheken mit denen sich der User seinen Code wahrscheinlich mehr zumüllt als alles andere.
              Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

              Kommentar


              • #8
                Den Link zur Bibliothek schreibe ich hier auch rein, falls jemand danach fragt. Nicht dass es ein Admin als Spam versteht...
                Den Link hätte ich bitte! Möchte mir das mal ansehen! (ist jetzt keine Verarsche, das meine ich ernst!

                Kommentar


                • #9
                  Den Link hätte ich bitte! Möchte mir das mal ansehen! (ist jetzt keine Verarsche, das meine ich ernst!)
                  Klick doch einfach auf sein .
                  PHP-Code:
                  function QB_SQLQUERY2ARRAY$query ''$number ''$returnPointer false ) {
                      global 
                  $qb_database$connection;
                      ....
                      return 
                  $result;
                  }

                  function 
                  QB_SECUREPRINT($string '') {
                      ....
                      return 
                  $string;
                  }

                  function 
                  QB_TABLE2PULLDOWN $ABK073 ''$AGT392 '',
                  $AGU393 'id'$AF6369 '' ) {
                      
                  $AAN014 '';
                      foreach(
                  QB_SQLQUERY2ARRAY($ABK073) as $AGQ389) {
                      ....
                      }
                      
                      return 
                  $AAN014;

                  (Und das alles noch ein einer Form in der man nicht mal weiß woran man ist (siehe letzte Funktion + Umbrüche entfernt ...))

                  Ist ja auch egal - der TE hat eine Lösung ...
                  Zuletzt geändert von tontechniker; 20.09.2007, 19:49.
                  Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                  Kommentar


                  • #10
                    Original geschrieben von tontechniker
                    Klick doch einfach auf sein .

                    [...]

                    (Und das alles noch ein einer Form in der man nicht mal weiß woran man ist (siehe letzte Funktion + Umbrüche entfernt ...))

                    Ist ja auch egal - der TE hat eine Lösung ...

                    Ich habe ja nicht um Verständnis gebeten für die Art und Weise, wie ich den Code zu schützen gedenke. Das was Du gemacht hast, ihn hier für alle zu "entschleiern" zeigt, dass es sehr wohl möglich ist seine Funktion zu prüfen. Die Skepsis könnte man also zwecks Lösungsfindung und Hilfe mal aussen vor lassen.

                    PS: Ich hatte nicht die Absicht, die Funktionen hier in Klartext zu schreiben. In den Nutzungsbedingungen oberhalb des Quelltextes steht: "Die Weitergabe oder Öffentlichmachung des entschleierten Quellcodes ist untersagt." Keine Ahnung, warum Dir das scheiß egal ist. Du möchtest ihn bitte aus Deinem Post entfernen. Danke schön!

                    Kommentar


                    • #11
                      Original geschrieben von tontechniker
                      1. postest du den Namen der Funktion, der Inhalt bleibt verborgen.
                      2. hilft es einem TE der gerade PHP nicht wenn er irgendwelche fertigen Funktionen benutzt, die in diesem Fall nicht mal anpassbar sind. (was passiert wenn jetzt Datenbankabstraktion benutzen möchte?)
                      3. gehe ich mal davon aus das die Funktion weder Performance noch sinnvoll ist und man sich ohne einiges sparen kann.
                      4. propagandierst du irgendwelche Bibliotheken mit denen sich der User seinen Code wahrscheinlich mehr zumüllt als alles andere.
                      * der Inhalt soll auch verborgen bleiben - niemand wird gezwungen, sie zu nutzen

                      * "Datenbankabstraktion"?? LOL!! Entschuldige, aber das Niveau im Forum deutet keinesfalls darauf, dass hier mehr als 100 Leute wissen, was das überhaupt bedeutet!

                      * Kann man sich sparen - die Arbeit, diese Funktion für sich wieder und wieder neu zu erfinden und somit ewig hier nach Hilfe zu fragen.

                      * Die Codebeispiele hier im Forum können teilweise nicht getoppt werden. Und die Struktur meines Codes hast Du ja offensichtlich auch schon analysiert - immernoch der Meinung, dass es irgendwas zumüllt?


                      Mit einer Handvoll meiner Funktionen würde die Sicherheit in öffentlichen PHP-Skripten gehörig steigen: keine SQL-Injections mehr, keine Mailheader-Injections. Solche alltäglichen Wünsche wie Datenbanktabelle auflisten und darin blättern wären endlich mal gelöst - und nicht jedes mal neu erfunden!

                      Die Anfänger, die hier im Forum nach Hilfe fragen, nachdem sie anderen Leistungen gegen Geld anbieten und zum Schluss wer weiss was für ein Chaos dort hinterlassen - die wären bedient und würden wenigstens nicht überall Sicherheitslöcher aufreissen.

                      Und auch hier im Forum würde noch genug Arbeit bleiben - aber auf einem etwas höherem Niveau.

                      Kommentar


                      • #12
                        Die Skepsis könnte man also zwecks Lösungsfindung und Hilfe mal aussen vor lassen.
                        Nein, weil es eben darum nicht geht. Das Ziel ist es den Leuten zu zeigen wie es geht und wo ihre Fehler liegen. Fertige Lösungen kannst du in Projekthilfe oder so posten. Dabei solltest du die Leute wenigstens über deinen Müll informieren, der ja nach eigenen Angaben "... nur bedingt im produktiven Einsatz taugt.".

                        Nachdem du deinen Post noch schnell erweitert hast:
                        * "Datenbankabstraktion"?? LOL!! Entschuldige, aber das Niveau im Forum deutet keinesfalls darauf, dass hier mehr als 100 Leute wissen, was das überhaupt bedeutet!
                        Nur ein Beispiel, alleine globale Variablen sind schon Unsinn.
                        Und auch hier im Forum würde noch genug Arbeit bleiben - aber auf einem etwas höherem Niveau.
                        Wenn wir den Leuten nur noch fertigen Code vorwerfen kommt keiner ans Ziel und keine lernt etwas.
                        Mit einer Handvoll meiner Funktionen würde die Sicherheit in öffentlichen PHP-Skripten gehörig steigen: keine SQL-Injections mehr, keine Mailheader-Injections. Solche alltäglichen Wünsche wie Datenbanktabelle auflisten und darin blättern wären endlich mal gelöst - und nicht jedes mal neu erfunden!
                        Nein gelöst wären sie nicht, es gäbe immer noch Sicherheitslücken und das was dein Skript macht kann man noch wesentlich besser lösen ...
                        Zuletzt geändert von tontechniker; 20.09.2007, 20:03.
                        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                        Kommentar


                        • #13
                          Original geschrieben von tontechniker
                          Nein, weil es eben darum nicht geht. Das Ziel ist es den Leuten zu zeigen wie es geht und wo ihre Fehler liegen. Fertige Lösungen kannst du in Projekthilfe oder so posten. [...]
                          Vielleicht werden deshalb tatsächlich meine Funktionen hier wenig Sinn machen und das akzeptiere ich gerne als Tipp.

                          Aber auf Deine Anmerkung bezüglich der globalen Variablen möchte ich doch noch eingehen: globale Variablen sind schlecht. Aber wenn Du dir meinen Code anschaust wirst Du feststellen, dass es nur eine Handvoll ist und jeweils nur die, die sich nicht anders machen liessen (globale Konfiguration). Ganz ohne globale Variablen geht es in manchen Fällen einfach nicht.

                          Kommentar

                          Lädt...
                          X