SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.11.2004, 02:26:34
newbie newbie ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 4
mysql daten in dropdownliste einfügen

Hallo an an alle, wer kann und will mir helfen?

Ich will eine mysql abfrage in einer dropdownliste darstellen nur leider gelingt es nicht so wie ich mir es vorgestellt habe.

Damit wird immer nur der letzte Eintrag der Tabelle angezeigt.


<? include ("mysql.inc");
$query = "SELECT * FROM mail";
$sql = mysql_query($query);
while ($ds = mysql_fetch_object($sql)){
$adresse = $ds -> mailadr;}

mysql_close ($dz);

?>
<FORM action="auswertung.php" method=post>
<fieldset>
<legend>Empf&auml;nger</legend>
<SELECT name="an" size=5 multiple>
<OPTION> <?=$adresse?> </OPTION>

Warum?

Mit

while (list ($adresse) = mysql_fetch_row ($sql)) {
echo "'<option>$adresse</option>'"; }

werden nur Hochkommas angezeit.

Wer kann mit meine Fehler aufzeigen und wie geht es wirklich?


mfg David
Mit Zitat antworten
  #2  
Alt 03.11.2004, 07:29:13
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Zum Ersten: Es kann nicht klappen! Mit while ($ds = mysql_fetch_object($sql)) gehst Du alle gefundenen Datensätze durch und speicherst sie in ein und der selben Variable. Der Wert wird also immer überschrieben.

Zum Zweiten: Du schreibst $query = "SELECT * FROM mail"; - Wenn Du das machst, dann solltest Du lieber nicht mysql_fetch_row() nutzen. Du kannst Dir nie sicher sein, ob bei einem SELECT * die Felder in der gleichen Reihenfolge ausgespuckt werden. Fügst Du mal ein Feld hinzu geht das Chaos erst richtig los...

Zwei Möglichkeiten das Problem zu lösen:
PHP-Code:
<form action='auswertung.php' method=post>
    <fieldset>
        <legend>Empfänger</legend>
        
        <select name='an' size='5' multiple='multiple'>
<?php
include('mysql.inc');

// Variante 1
$query 'SELECT * FROM mail';
$sql mysql_query($query);
while (
$ds mysql_fetch_assoc($sql)){
    echo 
"<option>{$ds['adresse']}</option>n";
}

// Variante 2
$query 'SELECT adresse FROM mail';
$sql mysql_query($query);
while (list(
$adresse) = mysql_fetch_row($sql)){
    echo 
"<option>$adresse</option>n";
}

mysql_close($dz);
?>
        </select>
    </fieldset>
</form>
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 06.11.2004, 22:01:46
newbie newbie ist offline
Anfänger
 
Registriert seit: Nov 2004
Beiträge: 4
danke!

es geht aber woher weiß man was nun besser ist select * oder mysql_fetch_row oder foreach was auch immer?
meine bücher bzw befehlsreferrenzen geben keine hinweise in der art. die funktion wird zwar erklärt aber was nun wo besser ist steht nicht dabei.


mfg david
Mit Zitat antworten
  #4  
Alt 06.11.2004, 22:24:33
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Du kannst natürlich die Daten mittels SELECT * aus der Datenbank holen. Dann würde ich dir aber raten nur mysql_fetch_array() oder mysql_fetch_assoc() zu verwenden.
Aber: Warum soll ich nicht SELECT * schreiben?

Besser ist es, wenn du direkt im Query die Spalten angibst, die du aus der Datenbank haben möchtest: SELECT field1, field2
Dann bleibt es dir praktisch selbst überlassen, ob du mysql_fetch_array(), mysql_fetch_row() oder mysql_fetch_assoc() verwendest.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:05:36 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt