php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 18-09-2003, 10:13
hurz33
 Newbie
Links : Onlinestatus : hurz33 ist offline
Registriert seit: Sep 2003
Beiträge: 23
hurz33 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Weiterblättern bei suchergebnis

Hallo

Ich habe folgendes problem.
Ich habe hier im forum einiges über blätterfunktionen gefunden
und wollte es nun bei mir in die ausgabe einer suchfunktion einbinden.
Ich möchte das immer 4 ergebnisse auf einer seite ausgegeben werden
und dann auf der nächsten seite wieder 4 und immer so weiter.
er bättert es vernünftig weiter und auch die anzahl der seiten stimmt
aber er gibt auf jeder seite alle ergebnisse aus.
kann mir da jemand bitte helfen?

ich bedanke mich schonmal im voraus bei allen

PHP-Code:
<?php
include("hidden/db_connect2.inc");
require(
"hidden/biblio2.inc");

seitenAnfang("Roy's Filmdatenbank");
// erstmal Verbindung & Fehlerausgabe kürzer schreiben
mysql_connect($host$user)
    or die(
"Verbindung zu mysql fehlgeschlagen!");
mysql_select_db($dbname)
    or die(
"Selektierung von Datenbank '$dbname' fehlgeschlagen!");



$erg mysql_query("SELECT * FROM filme $where")
or die (
"Such-Query fehlgeschlagen: ... <b>$where</b> -&gt; "mysql_error());
  
$erg mysql_query('select distinct art from filme order by art')
or die (
"'distinct'-Query fehlgeschlagen: "mysql_error());
// ... als Optionen des Dropdowns auflisten
while (list($value) = mysql_fetch_row($erg)) 
    {
      
$where = ($suche mysql_escape_string($_POST['suche'])
    ? 
" where art='$suche'" "");
    
     
$erg mysql_query("SELECT * FROM filme $where ORDER BY kurz ASC; ")
    or die (
"Such-Query fehlgeschlagen: ... <b>$where</b> -&gt; "mysql_error()); 
            
    
$Anzahl ="5";
            
    
$menge = @mysql_num_rows($erg);
            
     if (
$erg
        {
        if(
mysql_num_rows($erg)<=0)
            {
            echo 
"Leider konnte kein Datensatz in der kategorie<br><b>" strtoupper($spalte) . "</b> mit dem Suchbegriff<b>"
                
strtoupper($suche) . "</b> gefunden werden!<p>\n";
            unset(
$set);
            }
        else
            {
            echo 
"<table border=\"1\">\n";
            
$seiten ceil($menge $Anzahl);
                            
            if ( !
$z )
              
$z 1;
                            
            
$maximum $z $Anzahl;
               
$minimum $maximum $Anzahl;
                            
            while(
$row mysql_fetch_row($erg))
                {
                for(
$i=$minimum;$i $maximum$i++) 
                    
                      echo 
"<tr>\n";
                    echo 
"<td align=\"center\" width=\"140px\" height=\"140px\">\n";
                     echo 
"<a href=\"info2.php?ID=$row[0]\" target=\"_self\">";
                    echo 
"<img src=\"$row[4]\" alt=\"$row[1]\">" "</a><br>\n";
                    echo 
"</td>\n";
                    echo 
"<td align=\"center\" width=\"120px\" height=\"140px\">\n";
                    echo 
"<a href=\"info2.php?ID=$row[0]\" target=\"_self\">" $row[1] . "</a>\n";
                    echo 
"</td>\n";
                    echo 
"<td align=\"left\" width=\"420px\" height=\"140px\">\n";
                    echo 
$row[5];
                    echo 
"</td>\n";
                    }
                    echo 
"</table><p>\n";
                    unset(
$set);
                            
                if (
$menge $Anzahl)
                    {
                      echo 
"<b><center>";
                      
$vor $z 1// Gibt einen Statuswert ab der sagt ob es noch ältere Einträge gibt.
                      
$next $z 1// Gibt einen Statuswert ab ob es noch weitere gibt.

                          
if ($vor != 0) echo "<a href=\"?content=news&z=$vor\">";
                          if (
$vor == 0
                            { 
                            echo 
"<span class=\"links_inaktiv\"><strike>zurück</strike></span>";
                              } 
                          else 
                            {
                            echo 
"<span class=\"links_normal\">zurück</span>"
                            }
                          if (
$vor !=0
                        echo 
"</a>";
                         echo 
" | ";
                          if (
$next <= $seiten
                        echo 
"<a href=\"?content=news&z=$next\">";
                          if (
$next $seiten
                            { 
                            echo 
"<span class=\"links_inaktiv\"><strike>weiter</strike></span>";
                              } 
                          else 
                            {
                            echo 
"<span class=\"links_normal\">weiter</span>"
                            }
                          if (
$next <=$seiten
                        echo 
"</a>";
                          echo
"</b></center><P>";
                     }
                    echo 
"<a href=\"index4.php\">Zur&uuml;ck zur Suche</a>\n";
                }
                        
            }
            else
            echo 
"<br><i>Es konnten keine Datens&auml;tze gefunden weden.</i><br>\n";
        }
        
mysql_close();
seitenEnde();
?>
Mit Zitat antworten
  #2 (permalink)  
Alt 18-09-2003, 10:31
XGremliN
 PHP Senior
Links : Onlinestatus : XGremliN ist offline
Registriert seit: Sep 2003
Ort: Karl-Marx-Stadt
Beiträge: 1.900
XGremliN ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$erg mysql_query("SELECT * FROM filme $where ORDER BY kurz ASC; "
müsste glaub ich

PHP-Code:
$erg mysql_query("SELECT * FROM filme $where ORDER BY kurz ASC limit 4; "
sein, dann gibt er Dir nur 4 Datensätze aus
__________________
it's not a bug,
it's a feature!
Mit Zitat antworten
  #3 (permalink)  
Alt 18-09-2003, 11:17
hurz33
 Newbie
Links : Onlinestatus : hurz33 ist offline
Registriert seit: Sep 2003
Beiträge: 23
hurz33 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

danke für deine schnelle hilfe.

Ich habe jetzt aber das problem, dass die blätterfunktion nicht mehr funzt.

Es werden 4 ergebnisse angezeigt, aber kein blättern mehr.

Mit Zitat antworten
  #4 (permalink)  
Alt 18-09-2003, 11:38
tomschrot
 Newbie
Links : Onlinestatus : tomschrot ist offline
Registriert seit: Oct 2001
Ort: München
Beiträge: 41
tomschrot ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Yeah!

Der k(n)ackpunkt liegt oben bei limit! LIMIT kennt eigentlich 2 argumente. das erste gibt den startdatensatz an (inclusive 0!!) der geliefert wird, das zweite argument beschreibt nur die anzahl der zu liefernden datensätze !

also: SELECT * FROM bla WHERE [bedingung] LIMIT 0,4

liefert 4 zeilen beginnend ab dem ersten gefundenem eintrag, und

SELECT * FROM bla WHERE [bedingung] LIMIT 3,4

SELECT * FROM bla WHERE [bedingung] LIMIT 7,4

usw.

die weiteren zeilen.
Mit Zitat antworten
  #5 (permalink)  
Alt 18-09-2003, 11:49
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

LIMIT 4,4
LIMIT 8,4

weil's besser is

dann musst du natürlich vorher nochzählen wieviel datensätze es gibt, sonst weißt du ja nicht ob du vor- und/oder zurückblättern kannst
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #6 (permalink)  
Alt 18-09-2003, 11:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

also nicht num_rows(), sondern "SELECT COUNT(feld)"
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #7 (permalink)  
Alt 18-09-2003, 13:00
hurz33
 Newbie
Links : Onlinestatus : hurz33 ist offline
Registriert seit: Sep 2003
Beiträge: 23
hurz33 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

welches num_row muß ich denn ersetzen?

und was bewirkt das "SELECT COUNT(feld)"???

das weiterblättern funzt trotz diverser änderungen noch immer nicht, er
zeigt nur die inaktiven links an.
Mit Zitat antworten
  #8 (permalink)  
Alt 18-09-2003, 13:08
Happy Nihilist
 PHP Senior
Links : Onlinestatus : Happy Nihilist ist offline
Registriert seit: Sep 2003
Beiträge: 1.168
Happy Nihilist ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kleiner Tipp am Rande:

Schicke nicht alles sofort per Echo raus. Das habe ich auch mal in 2000 Zeilen gemacht. Und dann wollte ich eine Cookie-Unterstützung einbauen. Pustekuchen. Da darfst du vorher noch nichts gesendet haben.

Speicher lieber alles in einer $output-Variable, und schicks am Ende des Scripts raus. So hast du später weniger Stress beim umgestalten.
Mit Zitat antworten
  #9 (permalink)  
Alt 18-09-2003, 14:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Speicher lieber alles in einer $output-Variable, und schicks am Ende des Scripts raus. So hast du später weniger Stress beim umgestalten.
dann doch direkt mit templates!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

Simple Forum PHP ansehen Simple Forum PHP

If you need simple forum or discussion on your website, then you've come to the right place. Simple Forum PHP is a script that is very easy to install and administer.

28.08.2021 nevenov | Kategorie: PHP/ Forum PHP Software
Formmailer Bootstrap 4

Mit dem Formmailer kann man sich eMails über seine Seite zukommen lassen.

08.07.2021 arne-home | Kategorie: PHP/ Formular
Fehlerseite Bootstrap 4

Bei Aufruf einer nicht existierenden Seite, teilen Sie Besuchern mit einer eigenen Fehlerseite mit, dass die gewünschte Seite nicht gefunden wurde. Die eigene Fehlerseite sollte dasselbe Design wie die Website haben. Zudem sollte ein Link zur Startseite a

04.07.2021 arne-home | Kategorie: PHP/ Counter
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:48 Uhr.