php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.12.2004, 13:44  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

besser noch:
PHP-Code:
$anfrage "SELECT COUNT(*) AS anzahl FROM Tabellenname";
$ergebnis mysql_query($anfrage) or die ("FEHLER= ".mysql_error());
$gesamtzahl_datensaetze mysql_fetch_array($ergebnis)['anzahl']; 
count(*) is schneller...
__________________
Was ist validität?
fantast ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.12.2004, 14:04  
Gast
 
Beiträge: n/a
Standard

Na also, folgender Gesamtcode käme dann bei raus:

Code:
$conn   = @mysql_connect($server, $user, $pass);

function sql_query($success, $sql, $conn) {
  $result = mysql_query($sql, $conn);
  if ($result) {
     echo "

$success.";
  } else {
     echo "

".mysql_error($conn);
  }
  return $result;
}

$sql = "USE DATENBANKNAME";
sql_query("Umschalten auf DB", $sql, $conn);

// Anzahl Datensätze herausfinden

$anfrage = "SELECT COUNT(*) AS anzahl FROM Tabellenname";
$ergebnis = mysql_query($anfrage) or die ("FEHLER= ".mysql_error());
$gesamtzahl_datensaetze = mysql_fetch_array($ergebnis)['anzahl'];

// maximale Anzahl an Seiten

$max_seiten = $gesamtzahl_datensaetze / $anzahl_daten_pro_seite;
$max_seiten = ceil($max_seiten);

// Seite_von und Seite_bis ausrechnen

for ($i=1; $i<=$max_seiten; $i++) {
   if ($i == 1) {
      $seite_von[$i] = 1;
   }
   if ($i > 1) {
      $vorgaenger = $i - 1;
      $seite_von[$i] = $vorgaenger * $anzahl_daten_pro_seite;
   }
   $seite_bis[$i] = $i * $anzahl_daten_pro_seite;
}

if ($seite == "") {
   $seite = 1;
   $sql = "SELECT * FROM Tablle ORDER BY sortiert_nach_was_auch_immer ASC LIMIT $seite_von[$seite],$anzahl_daten_pro_seite";
}

else {
   $sql = "SELECT * FROM Tabelle ORDER BY sortiert_nach_was_auch_immer ASC LIMIT $seite_von[$seite],$anzahl_daten_pro_seite";
}

$result = sql_query("", $sql, $conn);
if ($result) {
   echo "<body>";
   echo "

Seite";
   for ($i=1; $i<=$max_seiten; $i++) {
      echo "<a class=\"link\" href=\"ausgabe.php?seite=$i\">$i</a>";
   }
   echo "</p>";
   $number = mysql_num_rows($result);
      while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                  echo (rows ausgeben);
               }
}
?>
Noch weitere Verbesserungen?
 
Alt 13.12.2004, 14:06  
Gast
 
Beiträge: n/a
Standard

Da sind immer noch "Select *" drin, hast du die Seite in der FAQ nicht gelesen?

Gruß
phpfan
 
Alt 13.12.2004, 14:34  
Gast
 
Beiträge: n/a
Standard

Stimm Du meinst diese Zeilen:

Code:
$sql = "SELECT * FROM Tablle ORDER BY sortiert_nach_was_auch_immer ASC LIMIT $seite_von[$seite],$anzahl_daten_pro_seite";
Hatte ich vergessen...diese ist natürlich auch entsprechend der bereits geänderten Zeile anzupassen.
 
Alt 13.12.2004, 18:09  
Gast
 
Beiträge: n/a
Standard Problem mit dem neuen Code

Also wenn ich den neuen Code einbaue, nach Euren Vorschlägen, erhalte ich eine Fehlermeldung:

Zitat:
Parse error: parse error in c:\phpdev\www\musikdatenbank\ausgabe.php on line 48
In dieser Zeile steht bei mir folgender Quellcode:

Code:
$gesamtzahl_datensaetze = mysql_fetch_array($ergebnis)['anzahl'];
Was nun?[/quote]
 
Alt 13.12.2004, 19:40  
Gast
 
Beiträge: n/a
Standard

Du wirst uns sicher verraten können, was du dir dabei gedacht hast, oder?

mysql_fetch_array($ergebnis)['anzahl'];

Ich verstehe das nömlich nicht und habe sowas noch nie gesehen.

Gruß
phpfan
 
Alt 13.12.2004, 20:37  
Gast
 
Beiträge: n/a
Standard

Ich auch nicht aber siehe Beitrag von fantast
 
Alt 13.12.2004, 21:42  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von fantast
besser noch:
Code:
$gesamtzahl_datensaetze = mysql_fetch_array($ergebnis)['anzahl'];
Zitat:
Zitat von Parser
parse error, unexpected '[', expecting ',' or ';' in ...
 
Alt 14.12.2004, 00:02  
Gast
 
Beiträge: n/a
Standard

Hallo meikel,

ich vermute wie phpfan, dass das ['anzahl']; am Ende der Zeile irgendwie verkehrt ist. Ich habe ein solches Konstrukt in der Form auch noch nie gesehen, hat jemand da eine Idee?
Apropos: selbst wenn ich die Zeile nur so hinstelle:

Code:
$gesamtzahl_datensaetze = mysql_fetch_array($ergebnis);
Kommt bei mir kein zählbares Resultat heraus...vielleicht doch generell ein Fehler im Codeschnipsel von fantast???
 
Alt 14.12.2004, 00:13  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von zeusel
ich vermute wie phpfan, dass das ['anzahl']; am Ende der Zeile irgendwie verkehrt ist.
In PHP ja. Es gibt andere Programmiersprachen, wo sowas möglich ist. Fantast hat da sicher die Sprache verwechselt.

Code:
$anfrage = "SELECT COUNT(*) AS anzahl FROM Tabellenname"; 
$ergebnis = mysql_query($anfrage) or die ("FEHLER= ".mysql_error()); 
$gesamtzahl_datensaetze = mysql_fetch_array($ergebnis); 
echo $gesamtzahl_datensaetze['anzahl'];
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bei UPDATE erkennen, ob der Datensatz existiert? Anotherone Datenbanken 7 01.04.2008 14:49
Wieso wird nur ein Datensatz angezeigt? Minimi Datenbanken 14 08.02.2008 02:54
auf nächsten Datensatz zugreifen cycap Datenbanken 5 18.12.2007 14:32
Datensatz zu max() simsalabim Datenbanken 8 02.10.2007 08:56
datensatz problem 24bits PHP Tipps 2006 1 30.08.2006 18:52
einen variablen datensatz löschen PHP Tipps 2007 3 04.11.2005 12:41
nächsten datensatz bei klick auf button weiter... PHP Tipps 2005-2 1 14.08.2005 12:19
Überprüfen, ob MySQL query einen Datensatz liefert Jojo1 PHP Tipps 2005 14 22.04.2005 17:22
Datensatz ändern funktioniert nicht PHP Tipps 2005 3 03.03.2005 23:09
Datensatz geändern? patr1k PHP Tipps 2005 12 14.02.2005 12:46
Leeren Datensatz editierbar machen Anuschka PHP Tipps 2004-2 1 27.12.2004 13:28
Variabel in link übergeben und Datensatz löschen Datenbanken 4 17.12.2004 13:08
mehrere Benutzer arbeiten an einem Datensatz ajo_silent Datenbanken 6 20.11.2004 13:52
Datensatz abfragen und in Formularfeldern ausgeben Datenbanken 1 25.08.2004 09:24
gespeicherten Datensatz auslesen PHP Tipps 2004 1 02.06.2004 14:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php seitenumbruch nach 20 datensätzen, php seitenwechsel nach anzahl

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.