Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit Verarbeitung von MySQL-Daten [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit Verarbeitung von MySQL-Daten


 
pascaluhlmann
09-01-2006, 22:08 
 
Hallo!

Ich will mit folgendem Code aus einer Terminliste den nächsten Termin auslesen. Leider bekomme ich keine Inhalte heraus. Wenn ich mir beispielsweise $datumzeit_jc ausgeben lassen, bekomme ich "4", was kaum ein DatumZeit-Wert sein kann! Kann mir vielleicht jemand weiterhelfen?

MfG
Pascal$link = mysql_connect($dbhost, $dbuser, $dbpassword);
$sql_jc = "SELECT * FROM `termine` WHERE `datumzeit` > NOW() AND `event` = 'JC'";
$termine_jc = mysql_db_query($dbname, $sql_jc);
$jc = mysql_result($termine_jc, "0");
$datumzeit_jc = $jc['datumzeit'];
$datum_jc = f_analyse_datumzeit($datumzeit_jc, "datum");
$uhrzeit_jc = f_analyse_datumzeit($datumzeit_jc, "zeit");
$ort_jc = $jc['ort'];

 
onemorenerd
09-01-2006, 22:13 
 
mysql_result() nach "SELECT * ..." ist keine gute Idee.
Ein print_r($jc); könnte dich dem Problem evtl. näher bringen.

 
pascaluhlmann
09-01-2006, 22:15 
 
Warum ist das problematisch? In einem anderen Script funktioniert das problemlos!

Mfg
Pascal

 
sagg
09-01-2006, 22:30 
 
Bist du dem zweiten Tipp mal nachgegangen? :rolleyes:

 
pascaluhlmann
09-01-2006, 22:32 
 
Ja, dann gibt PHP nicht mehr "4", sondern "47" aus.

 
onemorenerd
09-01-2006, 22:38 
 
Genaugenommen ist "SELECT * ..." schon allein keine gute Idee. Du weißt doch wie die Spalten heißen, warum gibst du sie dann nicht an?
Nun zu

mixed mysql_result ( resource Ergebnis-Kennung, int Datensatz [, mixed Feld] )

mysql_result() liefert den Inhalt eines Felds aus einem Anfrageergebnis. Das Argument Feld kann der Feldname, der Feldoffset ein Bezeichner in der Form 'Tabellenname.Feldname.' sein.
Entweder du möchtest mit mysql_result(..., "0")
a) das nullte (=1.) Feld (=Spalte) des ersten Datensatzes (=Zeile) oder
b) du möchtest mit mysql_fetch_assoc() den ganzen Datensatz holen und dann $jc['datumzeit'] usw. veranstalten.

Ich glaube du kannst mit Arrays umgehen, also lies dir mal http://php.net/mysql_result und http://php.net/mysql_fetch_assoc durch.

PS: (a) ist gefährlich mit "SELECT *", weil du eine Reihenfolge der Spalten voraussetzt.

 
sagg
09-01-2006, 22:40 
 
Und jetzt bist du wieder beim ersten Tipp gelandet: mysql_fetch_array und while sind deine Freunde, anstelle von mysql_result.

while ($row = mysql_fetch_array($termine_jc)) {
$datumzeit_jc = $row['datumzeit'];
$datum_jc = f_analyse_datumzeit($datumzeit_jc, "datum");
$uhrzeit_jc = f_analyse_datumzeit($datumzeit_jc, "zeit");
$ort_jc = $row['ort'];
}

Ist natürlich nur ein Beispiel..

 
pascaluhlmann
09-01-2006, 23:14 
 
Also mit mysql_fetch_assoc funktioniert es jetzt! Danke euch allen für eure Hilfe!

MfG
Pascal

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:19 Uhr.