URL: https://www.overclockers.at/coding-stuff/php_frage_gtmysql_53258/page_1 - zur Vollversion wechseln!
Hallo!
Folgender Code:
<?php
$db = mysql_connect("localhost","datenbank","passwort");
mysql_select_db("datenbankdb",$db);
$anz = "SELECT COUNT (titel) FROM dvd";
$result_anz = mysql_query($anz);
printf ("Anzahl Movies",$result_anz);
?>
Anzahl Movies: <?php echo $result_anz ?> //Alternative Ausgabe
sollte mir in der Variable $result_anz einen Wert speichern. Genauer gesagt, die Anzahl der DVD's in der Datenbank. Diesen Wert möchte ich dann durch ein einfaches printf oder echo ausgeben.
Es tut sich aber original gar nix. Hab ich etwas vergessen?
naja .. $result_anz ist ein resultset keine normale variable.
die schleife brauchst zwar nicht unbedingt...aber vielleicht später mal.
<?php
$db = mysql_connect("localhost","datenbank","passwort");
mysql_select_db("datenbankdb",$db);
$anz = "SELECT COUNT(titel) FROM dvd";
$result_anz = mysql_query($anz);
while ($row = mysql_fetch_array($result_anz, MYSQL_NUM)) {
echo "Anzahl Movies",$row[0]"
}
mysql_free_result($result_anz);
mysql_close($db);
?>
->http://www.php.net/manual/de/functi...fetch-array.php
Hm, das funzt nicht:
Warning: Supplied argument is not a valid MySQL result resource in /home/sites/site234/xxxxxx.php on line 17
line 17 ist die Zeile mit MYSQL_NUM
Eine Schleife würde ich auch später gar nicht benötigen, gibt's eine einfachere Variante?
i mach des immer ganz anders...
$count=mysql_numrows(mysql_query("SELECT titel from dvd"));
<?php
$query = "SELECT * FROM table WHERE id=$id";
$result = mysql_query ($query,$db);
$num = mysql_numrows($result);
while ($row = mysql_fetch_array ($result)) :
$var=$row["var"];
endwhile;
?>
echo $num;
trotzdem bleibts mit der funktion mysql_numrows() am einfachsten
Geht das nicht auch so:
SQL: select count(*) as anzahl from dvd
Zitat von CyberlordGeht das nicht auch so:
SQL: select count(*) as anzahl from dvd
Na zumindest geht "select count(...) ..." deutlich schneller, wenn er die Inhalte der Records gar nicht braucht.
@ XeroXs:
Vielen Dank! Deine Version hat funktioniert!
sag ich ja, wobei der ringding recht hat.. effizient isses ned.. aba eigendlich wurscht bei so kleinen scripten
Bevor ich's vergesse:
Ich möchte auch, den letzten Zugang in der Datenbank anzeigen, sprich, den Film, der zuletzt hinzugefügt wurde.
Nachdem ich ja die id als Autowert habe, ist es naheliegend, sie zu verwenden. Nur: mit welchem Argument frage ich ab, welches die größte id ist (die wäre ja dann auch automatisch der letzte Eintrag)?
select * from bla sort by id DESC limit 1
//EDIT: so hab das "limit 1" noch hinzugefügt, dadurch bekommst nur den einen eintrag und nicht die ganze liste -> theoretisch sollts eh default so sortiert sein.. aba zur sicherheit halt sortieren lassen
Naja, da bekomme ich doch eine verkehrt sortierte Liste der Einträge. Ich will aber lediglich den letzten Eintrag anzeigen.
Zitat von grOOvekill@Naja, da bekomme ich doch eine verkehrt sortierte Liste der Einträge. Ich will aber lediglich den letzten Eintrag anzeigen.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025