Hilfe



  • Ich hab ein Dropdownfeld und habe 50 Sachen in einer MySQL DB stehen. Jetzt muss ich den Primärschlüssel als value des Feldes nehmen und das was in der Spalte Name steht halt als Name für die jeweilige option.
    Wie mache ich das nun am besten? Bisher baue ich in dem Script noch keine Verbindung zur DB auf. Das passiert erst wenn ich auf den Button submit klicke und die ganzen Daten an ein weiteres Script übergeben werde.
    Ich brauche dringend Hilfe weil 50 Werte per Hand eingeben is doch n bisschen umständlich!!!
    MFG



  • Hä?

    $Resource = mysql_query('SELECT X FROM Y ORDER BY Z LIMIT V');
    
    while($Current = mysql_fetch_assoc($Resource))   {
       print('<option value="'.$Current['ID'].'">'.$Current['Description'].'</option>');
    }
    


  • Sicherheit geht vor:

    $res = mysql_query ('SELECT id, description FROM tabelle ORDER BY description ASC');
    
    while ($row = mysql_fetch_assoc ($res))
      echo '<option value="' . $row['id'] . '">' . htmlentities ($row['description']) . '</option>';
    
    // vorausgesetzt, dass 'id' eine Zahl ist
    

    'htmlentities' (o.ä.) sollte man sich angewöhnen um Sicherheitslücken zu vermeiden!

    Desert Storm schrieb:

    Bisher baue ich in dem Script noch keine Verbindung zur DB auf.

    Dann tu das, sonst kommst du an die Daten nicht ran 😉



  • Neku schrieb:

    'htmlentities' (o.ä.) sollte man sich angewöhnen um Sicherheitslücken zu vermeiden!

    Falsch! htmlentities() (o.ä.) sollte man beherrschen, um etwaige Sicherheitslücken zu stopfen! Eine zu generelle Aussage ist genau so schlecht wie keine! Vielleicht soll der Code da ja HTML o.ä. beinhalten? Dann macht dir eine Angewohnheit einen Strich durch die Rechnung!

    Sicherheit ja, unkontrollierte, irreversible Textmanipulation nein! Man muss selber abschätzen, was man wan einsetzt, und zumindest aus seinem Kontext ist ein htmlentities() nicht gerechtfertigt.

    ... ansonsten hast du mit "Sicherheit geht vor" aber natürlich recht 😉


Anmelden zum Antworten