WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » abfragen einer db automatisieren » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von inko
Das erste funktioniert vermutlich tatsächlich nicht, wenn ich mir das so überlege, aber das solltest Du sowieso nicht verwenden. Es belastet die Datenbank unnötigerweise, die Ausführungszeit Deines Scriptes wird länger und Deinem Webhoster wird das nicht gefallen.

Zum zweiten:
Da waren ein paar Leerzeichen an den falschen Stellen.
Scheint so, als ob das Forum PHP-Code nicht besonders mag.
Auf jeden Fall darf kein Leerzeichen bei den Konstrukten:
$data->id und $data->anzahl sein.
Wenn Du lieber mysql_fetch_array verwenden willst, dann funktioniert das in dem Zusammenhang natürlich auch, ich bin halt OOP gewohnt und benutze ausschliesslich Objekte.
von partykiller
Hi,
hab gerade mal deine Codes ausprobiert nur irgendwie funktionieren die bei mir nicht.

Bei dem ersten bekomm ich immer nur array ausgegeben und beim zweiten bekomm ich Objekt -> id : 1 ausgegeben.

Kann mir einer sagen woran das liegt ich habe den code genau so eingebaut wie inko ihn gepostet hat nur ich hab den namen der tabelle eingegeben. Und bei der Variante mit der for schleife hab ich echo "$anzahl[1]"; eingefügt.
von inko
Dein Stil ist zwar nicht so toll, aber ich beantworte jetzt nur mal die Frage:

$anzahl = array();
for ($i=1; $i<=8; $i++) {
$result=mysql_query("SELECT COUNT(*) FROM tabelle WHERE id= '$i'");
$anzahl[$i]=mysql_fetch_row($result);
}

Na schön, ich schreib Dir auch die gute Lösung:

$bereich = "1,2,3,4,5,6,7,8";
$query = "SELECT id, count(*) as anzahl FROM tabelle WHERE id in ($bereich) GROUP BY id ORDER BY id ASC";
$rs = mysql_query ($query);
while ($data = mysql_fetch_object($rs)) {
//Was auch immer Du tun willst
echo "$data->id: $data->anzahl<br>";
}

von partykiller
Hi,
ich muss mehrmals die inhalte einer db zählen wo die id immer gleich ist. Da ich keine lust habe jetzt für jede id eine einzelne abfrage zu schreiben dachte ich mir das das mit einer for schleife machbar sein müsste.

bis jetzt habe ich folgenden Code:

for ($i=1; $i<=8; $i++) {
$result=mysql_query("SELECT COUNT(*) FROM tabelle WHERE id= '$i'");
list($anzahl)=mysql_fetch_row($result);
}

So jetzt habe ich ja in der variablen $anzahl die anzahl der einträge mit der gleichen id, nur das die anzahl ja bei jedem durchlauf der schleife überschrieben wird.

Ich möchte aber das die anzahl der einträge erhalten bleibt. Ich weiß aber nicht wie ich das lösen könnte das jede anzahl in einer anderen variable oder als ein anderes element eines arrays gespeichert wird.

Hoffe ihr versteht was ich meine.

Danke im vorraus

Nach oben