SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 15.08.2008, 03:13:25
b-jay b-jay ist offline
Anfänger
 
Registriert seit: Jul 2008
Alter: 34
Beiträge: 18
Problem: Blätterfunktion in Kombination Alphabet-Sortierung

Der Script soll alle Einträge nach Alphabet sortieren und Datensätze die größer als 100 sind auf die nächste Seite verfrachten.

PHP-Code:
<?php
    error_reporting
(0);
    include(
"config.php");
    global 
$HTTP_SERVER_VARS;

    
$Zeilen_pro_Seite 100;
    
    if (!isset(
$Anfangsposition)) 
    {
         
$Anfangsposition 0;
    }

    
$sql="SELECT * FROM kkunde WHERE kdnr limit $Anfangsposition,$Zeilen_pro_Seite";
?>

<html>
<body>
<div align="center"><h2>City-Com Verwaltungsprogramm <h4>v. 1.0</h4></h2>
Die Datenbank enthält <?php echo"".$kunden.""?> Kunden.<br>
<br>
<br>

<table border="1" style="border-collapse: collapse" bordercolor="#000000">
  <tr>
    <td width="120">Kunden Nummer:</td>
    <td width="80">Name:</td>
    <td width="80">Geburtsdatum:</td>
    <td width="80">Infos</td>
    <td width="80">PDF</td>
  </tr>
  <tr>
    <div align="center">
    <a style='border:none; text-decoration:none' title="ABC" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=abc">A-C| </a>
    <a style='border:none; text-decoration:none' title="DEF" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=ghi">D-F| </a>
    <a style='border:none; text-decoration:none' title="JKL" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=jkl">J-L| </a>
    <a style='border:none; text-decoration:none' title="MNO" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=mno">M-O| </a>
    <a style='border:none; text-decoration:none' title="PQR" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=pqr">P-R| </a>
    <a style='border:none; text-decoration:none' title="STU" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=stu">S-U| </a>
    <a style='border:none; text-decoration:none' title="VWX" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=vwx">V-X| </a>
    <a style='border:none; text-decoration:none' title="YZ" href="<?php echo $HTTP_SERVER_VARS[PHP_SELF]?>?action=yz">Y-Z|</a>
    </div>
<?php

    
if ($HTTP_GET_VARS['action'] == "abc"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'A%' OR nname LIKE 'B%' OR nname LIKE 'C%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'A%' OR nname LIKE 'B%' OR nname LIKE 'C%'";
    }
    if(
$HTTP_GET_VARS['action'] == "def"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'D%' OR nname LIKE 'E%' OR nname LIKE 'F%'AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'D%' OR nname LIKE 'E%' OR nname LIKE 'F%'";
    }
    if(
$HTTP_GET_VARS['action'] == "ghi"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'G%' OR nname LIKE 'H%' OR nname LIKE 'I%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'G%' OR nname LIKE 'H%' OR nname LIKE 'I%'";
    }
    if(
$HTTP_GET_VARS['action'] == "jkl"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'J%' OR nname LIKE 'K%' OR nname LIKE 'L%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'J%' OR nname LIKE 'K%' OR nname LIKE 'L%'";
    }
    if(
$HTTP_GET_VARS['action'] == "mno"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'M%' OR nname LIKE 'N%' OR nname LIKE 'O%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'M%' OR nname LIKE 'N%' OR nname LIKE 'O%'";
    }
    if(
$HTTP_GET_VARS['action'] == "pqr"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'P%' OR nname LIKE 'Q%' OR nname LIKE 'R%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'P%' OR nname LIKE 'Q%' OR nname LIKE 'R%'";
    }
    if(
$HTTP_GET_VARS['action'] == "stu"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'S%' OR nname LIKE 'T%' OR nname LIKE 'U%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'S%' OR nname LIKE 'T%' OR nname LIKE 'U%'";
    }
    if(
$HTTP_GET_VARS['action'] == "vwx"){
         
$sql="SELECT * FROM kkunde WHERE nname LIKE 'V%' OR nname LIKE 'W%' OR nname LIKE 'X%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'V%' OR nname LIKE 'W%' OR nname LIKE 'X%'";
    }
    if(
$HTTP_GET_VARS['action'] == "yz"){
        
$sql="SELECT * FROM kkunde WHERE nname LIKE 'Y%' OR nname LIKE 'Z%' AND nname limit $Anfangsposition,$Zeilen_pro_Seite";
        
$sql2="SELECT * FROM kkunde WHERE nname LIKE 'Y%' OR nname LIKE 'Z%'";
    }

    
$result=mysql_query($sql) or die(mysql_error());
    
$result2=mysql_query($sql2);

    
$Anzahl=mysql_num_rows($result2);
    while(
$row=mysql_fetch_array($result)) 

    {

?>
<tr>
    <td width="120"><?php echo $row['kdnr']; ?></td>
    <td width="220"><?php echo $row['anrede']; ?> <?php echo $row['vorname']; ?> <?php echo $row['nname']; ?></td>
     <td width="150"><?php echo $row['bday']; ?></td>
    <td align="center" width="80">
    <a target="_blank" href="info.php?kunden=<?php echo $row['kdnr']; ?>">Info</a></td>
      <td align="center" width="80">
      <a target="_blank" href="PutFdf.php?kunden=<?php echo $row['kdnr']; ?>">
      <img height="25" style="border:none;" src="pdf.jpg" width="25"></a></td>
  </tr>
<?php
    
}
?>
</table>

<?php

 
if($Anfangsposition 0) {
  echo 
"<a  style='border:none; text-decoration:none' href='kunden.php?Anfangsposition=0'> [erste Seite]</a>";
  
$back=$Anfangsposition-$Zeilen_pro_Seite;
  if(
$back 0) {
    
$back 0;
  }
  echo 
"<a  style='border:none; text-decoration:none' href=\"kunden.php?Anfangsposition=$back\"> [eine Seite zurürck]<br></a>";
 }
 

if(
$Anfangsposition $Anzahl-$Zeilen_pro_Seite) {
  
$fwd=$Anfangsposition+$Zeilen_pro_Seite;
  echo 
"<a  style='border:none; text-decoration:none' href=\"kunden.php?Anfangsposition=$fwd\"> [eine Seite weiter] </a>";
  
$fwd=$Anzahl-$Zeilen_pro_Seite;
  echo 
"<a  style='border:none; text-decoration:none' href=\"kunden.php?Anfangsposition=$fwd\"> [letzte Seite]<br><br></a>";
}


 if(
$Anzahl>$Zeilen_pro_Seite) {
  
$Seiten=intval($Anzahl/$Zeilen_pro_Seite);
  if(
$Anzahl%$Zeilen_pro_Seite) {
    
$Seiten++;
  }
}

for (
$i=1;$i<=$Seiten;$i++) {
  
$fwd=($i-1)*$Zeilen_pro_Seite;
  if(
$i==25){
      
$pl="<br>";
  }
  else {
      
$pl="";
  }
  
  echo 
"<a style='border:none; text-decoration:none' href=\"kunden.php?Anfangsposition=$fwd\"> $i |$pl</a>";
}
?>

</div>
</body>
</html>
Die Datensätze werden beim Drücken auf die Links "A-C" oder "D-F" richtig angezeigt. Die Datenblättern werden ebenfalls richtig angezeigt, aber klickt man auf die Datenblätter, z.B. 1, 2,3 oder 4... wird eine leere Seite gestartet.
Mit Zitat antworten
  #2  
Alt 15.08.2008, 09:37:21
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Problem: Blätterfunktion in Kombination Alphabet-Sortierung

Wenn du doch sortieren willst, wieso sehe ich dann kein "ORDER BY"?
Wenn du doch die Ergebnismenge begrenzen wlllst, wieso sehe ich dann kein "LIMiT $start,$anzahl"? (zumindest in den Statements mit dem LIKE)
Wozu überhaupt das erste SQL Statement? Das kommt doch nie zur Ausführung, oder?

PS:
$HTTP_SERVER_VARS ist veraltet, verwende $_SERVER
global ist unnötig
PHP_SELF ermöglicht XSS Attacken

Geändert von DokuLeseHemmung (15.08.2008 um 09:41:44 Uhr)
Mit Zitat antworten
  #3  
Alt 15.08.2008, 10:16:30
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Problem: Blätterfunktion in Kombination Alphabet-Sortierung

Also ich würde das mit PHP_SELF nicht so eng sehen, allerdings solltest du tatsächlich deinen kompletten Code nochmal verwerfen und ein anständiges SQL-Statement auf die Beine stellen.
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #4  
Alt 15.08.2008, 10:33:49
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Problem: Blätterfunktion in Kombination Alphabet-Sortierung

Zitat:
Also ich würde das mit PHP_SELF nicht so eng sehen,
Und ich halte die Warnung für angebracht..........!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 20:17:54
Fußballtabellen - Problem mit Sortierung Ligamanager PHP für Fortgeschrittene und Experten 1 21.06.2004 11:00:25
Problem mit Blätterfunktion von www.3d-community.com/page.phps Slaughter PHP Grundlagen 4 30.11.2003 20:54:47


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:37:07 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt