|
 |
|
| Autor |
Nachricht |
BiBaButzemann Erfahrener [User]

Anmeldung: 25.06.06 Beiträge: 91 Wohnort: Moers
|
Verfasst am: 12.09.2007, 12:24 Titel: PHP Problem bei Funktion |
|
|
Hallo,
ich bins mal wieder!
Wieder mit einem Problem *lach* ^^ was auch sonst!
Diesmal die Fragestellung ganz einfach:
Weis jemand wieso der Code hier nicht funktioniert?
| Code: | function sitenews(){
global $sql;
$newsq = $sql->getQuery('SELECT hj_news.newsid, hj_news.newstitle, hj_news.newscat, hj_news.newstext, hj_news.newsautor, hj_news.newsdatetime, hj_news_cat.ncatid, hj_news_cat.ncattitle, hj_news_cat.ncatdesc FROM hj_news, hj_news_cat WHERE hj_news.newscat = hj_news_cat.ncatid = 1 ORDER BY hj_news.newsdatetime desc;');
if($num = mysql_fetch_row($newsq) > 0) {
while($news = mysql_fetch_assoc($newsq)) {
echo $news['newstitle'];
}
} else {
echo("Es sind zur Zeit keine News für die Homepage verfügbar");
}
}
|
Die if Abfrage führt er korrekt aus, das heißt alles mit dem Query und num_row ist korrekt! Aber die while Schleife führt er nicht aus ich hab leider keine Ahnung warum! Meine SQL Klasse gibt auch keinen Fehler aus! _________________ Mit freundlichen Grüßen
BiBaButzemann
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1218 Wohnort: Speyer
|
Verfasst am: 12.09.2007, 17:33 Titel: |
|
|
Sorry, aber was soll das?
mysql_fetch_row
ist nicht da um abzufragen ob es was gibt, sondern um die Ergebnisse abzuholen
mysql_fetch_assoc
macht genau das selbe, nur liefert ein Anderes Array ['spaltenname']
Wieviele News gibt es?
1(eine)?
Dann holt dein _row diese ab und für den _assoc gibt es keine mehr
(vorrausgesetzt die darf man überhaupt gemischt nutzen)
| Code: |
$newscount=0;
while($news = mysql_fetch_assoc($newsq))
{
$newscount++;
echo $news['newstitle'];
}
if ( !$newscount )
{
echo("Es sind zur Zeit keine News für die Homepage verfügbar");
}
|
Gruß
Andy 800XE Zmuda _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1218 Wohnort: Speyer
|
Verfasst am: 12.09.2007, 17:39 Titel: |
|
|
| 800XE hat folgendes geschrieben: | Sorry, aber was soll das?
mysql_fetch_row
ist nicht da um abzufragen ob es was gibt, sondern um die Ergebnisse abzuholen
mysql_fetch_assoc
macht genau das selbe, nur liefert ein Anderes Array ['spaltenname'] |
Du hast wohl ein s vergessen
mysql_num_rows() liefert die Anzahl der Datensätze einer Ergebnismenge. Diese Funktion ist nur gültig für SELECT Befehle. Haben Sie eine INSERT, UPDATE oder DELETE Abfrage ausgeführt und möchten die Anzahl der betroffenen Datensätze ermitteln, verwenden Sie die Funktion mysql_affected_rows()
Gut zu wissen das man das Abfragen kann ...
... wusste ich bisher nur für DELETE&Co .... affected_rows(oder so) _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
BiBaButzemann Erfahrener [User]

Anmeldung: 25.06.06 Beiträge: 91 Wohnort: Moers
|
Verfasst am: 12.09.2007, 20:31 Titel: |
|
|
hi
1. Wieso ist das falsch???? Ich frage in der ersten If ab - ob überhaupt Datensätze in der DB stehen, falls ja - soll er die while Schleife ausführen und falls nicht, soll er ein echo ausgeben!
Was ist bitte daran soo falsch? Das ist bei einem "stink normalen GB Script" genauso z.B.
2. Dreamweaver 8 erkennt die Funktion "mysql_fetch_row" ohne s
3. Wie schon oben gesagt - die if Abfrage funktioniert (trotzdem sie falsch ist ^^)
Er sendet ein Query un mysql_fetch_row hat den Wert 1 - das weis ich durch z.B. _________________ Mit freundlichen Grüßen
BiBaButzemann
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1218 Wohnort: Speyer
|
Verfasst am: 13.09.2007, 08:30 Titel: |
|
|
| BiBaButzemann hat folgendes geschrieben: | hi
1. Wieso ist das falsch????
2. Dreamweaver 8 erkennt die Funktion "mysql_fetch_row" ohne s |
korrektur --- in die Mitte muß_num_
www.php.net/mysql_num_rows das was du willst
www.php.net/mysql_fetch_row das was im Code steht
www.php.net/mysql_fetch_assoc
Du hast _fetch_row
= holt Datenzeile ab ...
$line[0]
$line[1]
$line[2]
$line[3]
Du hast _fetch_assoc
= holt Datenzeile ab ...
$line['Spaltenname1']
$line['Spaltenname2']
$line['Spaltenname3']
$line['Spaltenname4']
| BiBaButzemann hat folgendes geschrieben: | hi
2. Dreamweaver 8 erkennt die Funktion "mysql_fetch_row" ohne s |
Weil es den Befehl ja auch gibt .... er macht aber nicht das was du willst das er machen soll
wie oben schon gesagt (in disem Post)
Korektur
Der Befehl den du willst
1. mit 's' hinten
2. mit _num_ in der Mitte
Hatte ich gestern übersehen als ich im Hadbuch nachschaute, das _num_ _________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
BiBaButzemann Erfahrener [User]

Anmeldung: 25.06.06 Beiträge: 91 Wohnort: Moers
|
Verfasst am: 13.09.2007, 10:52 Titel: |
|
|
Hallo,
ohhhh *kopfschüttel*
danke
Mensch ne, jetzt werd ich hier schon irre ^^. Ich sitz Stunden an der HP - zwar nicht an dem Fehler, aber allgemein an der HP (
Hmmm - naja, eigene "Dummheut" von mir
jedenfalls - danke! Ich vermute - deswegen ging auch nicht fetch_assoc _________________ Mit freundlichen Grüßen
BiBaButzemann
|
|
| Nach oben |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|  |