php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.07.2010, 08:57  
Erfahrener Benutzer
 
Registriert seit: 28.10.2008
Beiträge: 181
Rilana ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] paging

Hallo zusammen, ich dreh jetzt dann gleich am Rad! Versuche schon seit Tagen eine paginierung zu machen.... das heisst ich habe ein ajax, php, mysql script welches Daten aus der Datenbank anzeigt, aber wie mach ich da ein paging?

Habe schon nacht tutorials gesucht aber ich kriegs einfach nicht hin. Hat jemand ein einfache Tutorial für mich?

Danke und Gruss, Rilana
Rilana ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.07.2010, 09:00  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Wie sieht dein Code bis dato aus? Hier findest du ein einfaches Beispiel:

PHP-Einfach.de - Tutorial - Blätterfunktion

etwas komplizierter:

PHP-Einfach.de - Erweiterte Blätterfunktion

Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 02.07.2010, 09:17  
Erfahrener Benutzer
 
Registriert seit: 28.10.2008
Beiträge: 181
Rilana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hoi Wolf29

Vielen Dank für deine Antwort, das Problem ist nur dass ich ein ajax php mysql blättern brauche....

unten mein Code, hast du da ne Idee?

Danke

//mein javascript:
Code:
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
 

<script type="text/javascript">
$(document).ready(function(){
	$(".kaufB").click(function(){
		$(".kauf").slideToggle("fast");
		$(".tech").hide("fast");
		$(".dienst").hide("fast");
		$(this).toggleClass("active");
		return false;
	});
	$(".techB").click(function(){
		$(".tech").slideToggle("fast");
		$(".kauf").hide("fast");
		$(".dienst").hide("fast");
		$(this).toggleClass("active");
		return false;
	});
	$(".dienstB").click(function(){
		$(".dienst").slideToggle("fast");
		$(".kauf").hide("fast");
		$(".tech").hide("fast");
		$(this).toggleClass("active");
		return false;
	});
	
});

var xmlhttp;

function showUser(str,region,anstellung)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="stellenResult.php";
url=url+"?q="+str+"&a="+region+"&b="+anstellung;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

</script>
//htmL:
Code:
 <select name="admin" id="admin">
            <optgroup label="">
              <option value="admin">Administration/HR/Consulting/CEO</option>
              <option value="5" >→ CEO/Geschäftsführung</option>
              <option value="2" >→ Assistenz/Sekretariat/Empfang/Sachbearbeitung</option>
              <option value="8" >→ Personalwesen/‐entwicklung</option>
              </optgroup>
              
            <optgroup label="">
              <option value="kauf">Verkauf/Einkauf/Marketing/Kundendienst/Logistik</option>
              <option value="4">→ Verkauf Innen‐ & Aussendienst/Akquisition</option>
              <option value="9" />→ Verkauf Innendienst/Back‐Office</option>
              <option value="10" />→ Marketing/Produktmanagement</option>
              <option value="11" />→ Import/Export/Logistik</option> 
              </optgroup>
            
            <optgroup label="">
              <option value="finanz">Finanzen/Treuhand/Immobilien/Banken/Versicherungen</option>
              <option value="12" />→ Buchhaltung/Controlling/Treuhand/Immobilien</option> 
              <option value="13" />→ Banken</option> 
              <option value="14" />→ Versicherungen </option> 
            </optgroup>
          </select>

<select name="region" id="region">
<option value="100">Ganze Schweiz</option>
<option value="2" />Rechtes Seeufer</option>
<option value="6" />Graub&uuml;nden</option>
<option value="5" />Zürich</option>
<option value="1" />Linkes Seeufer</option>
<option value="3" />Glarus</option>
<option value="4" />Zürich Oberland</option>
<option value="7" />Zentralschweiz</option>
<option value="8" />Kanton Zug</option>
<option value="9" />Ostschweiz</option>
<option value="10" />Deutschschweiz</option>
<option value="11" />Welschland / Französische Schweiz</option>
<option value="12" />Südschweiz / Italienische Schweiz</option>
</select>

<select name="anstellung" id="anstellung">
<option value="100">Alle Anstellungen</option>
<option value="temp" />Temporäre Anstellung</option>
<option value="try" />Try and Hire</option>
<option value="fest" />Feste Anstellung</option>
<option value="festTemp" />Fest und Temporäre Anstellung</option>

</select>

<input type='button' value=' GO' onclick="showUser(document.getElementById('admin').value,document.getElementById('region').value,document.getElementById('anstellung').value)">
</form>
//und mein PHP

PHP-Code:
$q=$_GET["q"];
// Make a MySQL Connection
$con mysql_connect("""""") or die(mysql_error());

if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db(""$con);
  
  
mysql_query("SET NAMES 'UTF8'");  



// GROUP BY limits the output by 1 per stelleID...:-)
$sql "SELECT
            *
        FROM 
            stelle 
        JOIN 
            stelle_region
        ON
            stelle_region.stelleID=stelle.stelleID
        JOIN
            region
        ON
            region.regionID=stelle_region.regionID
        JOIN 
            stelle_beruf
        ON
            stelle_beruf.stelleID=stelle.stelleID
        JOIN
            beruf
        ON
            beruf.berufID=stelle_beruf.berufID

        WHERE stelle_beruf.berufID = '"
.$q."' and stelle_region.regionID IN ".$a." and (stelleAnstellung IN ".$b.") GROUP BY stelle.stelleID order by stelle.stelleDatumsanzeige = 'fake' DESC, stelle.stelleDatum DESC";

        
echo 
$sql;

    

$result mysql_query($sql);


$r mysql_fetch_row($result);  
$numrows $r[0];  
$numrows mysql_num_rows ($result);



// makes shoure that the output is not -1
$resultOutput mysql_query($sql);


$result mysql_query($sql$con) or trigger_error("SQL"E_USER_ERROR);

//print table
echo "<table width='100%' border='0' cellpadding='0'>";
echo 
"<tr height='40px'><td>";
echo 
"Ihre Suche ergab <span class='zahl'>$numrows</span> Treffer";
echo 
"</tr></td><td></td></tr>"
Rilana ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:12  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Hallo Rilana, da ich sehe dass du jQuery benutzt, würde ich vorschlagen, den jQuery Pager plugin zu benutzen

jQuery plugin: Tablesorter 2.0 - Pager plugin

du lädst einfach alle daten in eine tabelle und durch diesen plugin, werden bestimmte spalten einfach ausgeblendet, somit musst du keine SQL strings generiere und mit ajax sortieren. sondern alles passiert über JS.
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:14  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Das geht aber nur bei "kleinen" Tabellen, hast du zig tausend Einträge ist das keine Möglichkeit die noch effektiv arbeitet.
Flor1an ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:38  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

wieso? muss man doch nur dann beim ersten mal etwas länger warten, dafür gibt es keine wartezeiten beim seitenwechsel.

zusätzlich kann man ja sagen dass beim laden, erstmal 1000 datensätze geladen werden ,in die tabelle

jQuery plugin: Tablesorter 2.0 - Appending table data with ajax

und sobald 1000 > anzahl beiträge pro seite * seite kann man dann die nächsten 1000 daten an die tabelle dranhängen
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:41  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ja aber stell dir vor du hast 400 000 Datensätze, die willst du nicht beim ersten mal laden oder?

Und wenn du sie anhängst kannst du nicht mehr sortieren! Dann kannst du zwar unter den ersten x Einträgen sortieren, aber die die angehängt werden werden in die Sortierung nicht mit aufgenommen. Das Plugin ist also nicht unter allen Umständen einsetzbar. Für wenige Einträge kann man schon alle laden, dann ist das Plugin super, aber bei mehreren ...
Flor1an ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:56  
Erfahrener Benutzer
 
Registriert seit: 28.10.2008
Beiträge: 181
Rilana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen Dank Leute... so nett dass ihr mir versucht zu helfen! Habs inzwischen mit [url=http://th3silverlining.com/2010/04/15/pajination-a-jquery-pagination-plugin/]Pajinate – A jQuery Pagination Plugin
Rilana ist offline   Mit Zitat antworten
Alt 02.07.2010, 12:58  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

Zitat:
Zitat von Rilana Beitrag anzeigen
Vielen Dank Leute... so nett dass ihr mir versucht zu helfen! Habs inzwischen mit Pajinate – A jQuery Pagination Plugin
ja aus diesem grund liebe ich jQuery ist gibt für das alles plugins
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 02.07.2010, 13:01  
Erfahrener Benutzer
 
Registriert seit: 28.10.2008
Beiträge: 181
Rilana ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry, irgendwie ging da nicht der ganze Beitrag mit
Rilana ist offline   Mit Zitat antworten
Antwort


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
paging + Var PHP Tipps 2005-2 15 20.06.2005 17:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php paging, paging php, php pager, php pagination tutorial, http://www.php.de/javascript-ajax-und-mehr/69399-erledigt-paging.html, javascript pager, pagination javascript, javascript pagination, paging php beispiel, php paging tutorial, php tabelle paging, jquery pager, pagination php deutsch, php mysql paging, pager php, paging php tutorial, jquery blättern, paging, paging mit php und mysql, php pagination deutsch tut

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:53 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