mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-19 09:55:03 +02:00
211 lines
10 KiB
HTML
211 lines
10 KiB
HTML
|
<html>
|
||
|
<head>
|
||
|
|
||
|
|
||
|
<title>PHP-Einfach.de - MySQL Einführung - Anzahl der Zeilen herrausfinden</title>
|
||
|
|
||
|
|
||
|
<meta name="Author" content="Andavos">
|
||
|
<meta name="Publisher" content="Andavos">
|
||
|
<meta name="Copyright" content="Andavos">
|
||
|
|
||
|
|
||
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
||
|
</head>
|
||
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
||
|
|
||
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td align="center" valign="middle" height="100%" width="100%">
|
||
|
|
||
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
||
|
<a name="oben"></a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td class="black" height="100" width="150">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
||
|
|
||
|
<a class="blue" href="einf_mysql_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_anfang.php"><b>»</b> Anfang</a><br>
|
||
|
<div style="position: relative; left:15;" ><a class="blue" href="einf_mysql_tabellen_spalten.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_tabellen_spalten.php"><b>»</b> Tabellen & Spalten</a><br></div>
|
||
|
<a class="blue" href="einf_mysql_tabellen_fuellen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_tabellen_fuellen.php"><b>»</b> Tabellen füllen</a><br>
|
||
|
<a class="blue" href="einf_mysql_verbindung_aufbauen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_verbindung_aufbauen.php"><b>»</b> Verbin. aufbauen</a> <br>
|
||
|
<a class="blue" href="einf_mysql_einfache_abfrage.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_einfache_abfrage.php"><b>»</b> Daten ausgeben</a><br>
|
||
|
<a class="blue" href="einf_mysql_weitere_abfragen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_weitere_abfragen.php"><b>»</b> Weitere Abfragen</a><br>
|
||
|
<a class="blue" href="einf_mysql_daten_schreiben.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_schreiben.php"><b>»</b> Daten hinzufügen</a><br>
|
||
|
<a class="blue" href="einf_mysql_daten_aendern.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_aendern.php"><b>»</b> Daten ändern</a><br>
|
||
|
<a class="blue" href="einf_mysql_daten_loeschen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_daten_loeschen.php"><b>»</b> Daten löschen</a><br>
|
||
|
<a class="blue" href="einf_mysql_anzahl_zeilen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_anzahl_zeilen.php"><b>»</b> Anzahl d. Zeilen</a><br>
|
||
|
<a class="blue" href="einf_mysql_verbindung_beenden.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_verbindung_beenden.php"><b>»</b> Verbin. beenden</a><br>
|
||
|
<a class="blue" href="einf_mysql_error_handling.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_error_handling.php"><b>»</b> MySQL-Fehler</a><br>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
<center>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
||
|
|
||
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
||
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
||
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
||
|
|
||
|
</a>
|
||
|
</center>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
||
|
|
||
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="10"></td>
|
||
|
<td valign="top" class="black" height="100" width="410">
|
||
|
<br>
|
||
|
<h4>Anzahl der Zeilen herraus finden</h4>
|
||
|
|
||
|
|
||
|
|
||
|
Manchmal stellt sich die Frage, wieviele Zeilen/Datensätze wurden denn gefunden? Denn dies wäre nützlich bei Suchanfragen oder auch bei einer Blätterfunktion.<br>
|
||
|
Zum Glück geht dies ganz einfach. Dazu lernen wir jetzt einen neuen MySQL Befehl kennen, und zwar <b>mysql_num_rows()</b>.<br><br>
|
||
|
|
||
|
Der Script sieht so aus:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$abfrage = "SELECT id FROM links";
|
||
|
$ergebnis = mysql_query($abfrage);
|
||
|
$menge = mysql_num_rows($ergebnis);
|
||
|
|
||
|
echo $menge;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Bei der Abfrage können wir wieder die gleichen Attribute wie bei <a href="einf_mysql_weitere_abfragen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_weitere_abfragen.php">Weitere Abfragen</a> benutzen. <br>
|
||
|
Auch können wir mit der Abfrage die Ergebnisse wieder ausgeben, dazu würden wieder das <i>$row = mysql_fetch_object($ergebnis)</i> benutzen.
|
||
|
|
||
|
Falls wir die Werte nicht ausgeben möchten, sondern nur die gefundene Zeilenanzahl wissen wollen, sollten wir nur 1 Spalte abfragen, z.B. id, denn dies spart Arbeitskapazität.<br><br>
|
||
|
|
||
|
Allerdings ist diese Variante bei größeren Tabellen <b>extrem</b> langsam und speicherintensiv.<br>
|
||
|
Denn wir fragen ja die komplette Tabelle ab, und in $ergebnis wird dann das Ergebnis gespeichert.<br>
|
||
|
Wenn die Tabelle jetzt z.B. 1 Millionen Einträge hat, dann wären diese 1 Mio. Datensätze in <i>$ergebnis</i> gespeichert. Dies würde desweiteren ca. 4 MB Speicherplatz benötigen, und für Scripts ist dieser sehr begrentzt.<br><br>
|
||
|
|
||
|
Darum gibt es in MySQL eine weitere Methode, wie man schneller und sparsamer die Anzahl der Zeilen ermittelt. Allerdings können wir danach <b>nicht</b> das <i>$ergebnis</i> per Schleife ausgeben, dafür benötigen wir eine erneute Anfrage an die Datenbank:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$abfrage = "SELECT COUNT(id) FROM links";
|
||
|
$ergebnis = mysql_query($abfrage);
|
||
|
$menge = mysql_fetch_row($ergebnis);
|
||
|
$menge = $menge[0];
|
||
|
|
||
|
echo $menge;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Hier benutzen wir die SQL-Funktion: <b>COUNT(id)</b>. Der Vorteil an der Funktion ist, dass die Anzahl der Einträge direkt aus der Tabellen-Information ausgelesen wird.<br>
|
||
|
Außerdem werden nur ca. 4 Byte Platz benötigt.<br><br>
|
||
|
|
||
|
Diese Variante ist bei einer Tabelle mit 90 000 Einträgen ca. um den Faktor <b>2000</b> (200000%) schneller.<br>
|
||
|
Bei kleineren Tabellen ist der Unterschied nicht so gravierend.
|
||
|
|
||
|
|
||
|
|
||
|
<br><br>
|
||
|
So zum Schluss lernen wir noch, wie wir eine <a href="einf_mysql_verbindung_beenden.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql_verbindung_beenden.php">Verbindung beenden</a><br><br>
|
||
|
|
||
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
||
|
</td>
|
||
|
<td height="100" width="10"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td valign="top" class="black2" height="100" width="150">
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
|
||
|
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
||
|
|
||
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
||
|
|
||
|
|
||
|
<br> <br>
|
||
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|