php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.04.2007, 16:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Es sollte wohl auch a.*, b.* heißen
nikosch ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.04.2007, 17:26  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

nein das ist es nicht, hab aber den Fehler gefunden. danke für eure Hilfe :wink:
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 26.04.2007, 17:37  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

und woran lags?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
Alt 27.04.2007, 08:48  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Woran es genau lag weiss ich nicht, aber ich hab alles noch mal von Hand schön säuberlich neu geschrieben, eigendlich ohne eine Änderung und es ging^^

Ps. aber irgendwie schein ich blind zu sein.

ich lass mir das ganze mit LIMIT zum blättern ausgeben.
Aber da hab ich noch wo nen Hund drin.
Es sollen immer 5 ausgegeben werden, aber mit jedem blättern kommt ein Datensatz dazu^^ Also 1. blättern 6 Datensätze, 2. blättern 7 Datensätze usw.

PHP-Code:
    if (isset($_GET['pn']))
    
$pn $_GET['pn'];
    else
    
$pn 0;
        
    
$max_row 5;
    
$start_row $max_row $pn;

    
$query "SELECT *
    FROM tabelle1 a
    LEFT JOIN tabelle2 b ON a.id = b.id
    AND b.spalte2 = '"
.$var1."'
    WHERE b.id IS NULL 
    AND a.spalte1 = '"
.$var2."'
    AND a.spalte2 <'"
.$var3."'
    AND a.spalte3 > '"
.$var4."'
    ORDER BY a.spalte DESC"
;

    
$query_limit sprintf("%s LIMIT %d, %d"$query$start_row$pn+$max_row);
    
$res mysql_query($query_limit$con) or die(mysql_error());    
    
$max mysql_query($query$con) or die(mysql_error());
    
$tr mysql_num_rows($max);
    
$tp ceil($tr/$max_row)-1;    
    while (
$row mysql_fetch_assoc($res))
        {
        
// Inhalt
        
}

if (
$pn 0)
    echo 
"<a href=\"?s=".$s."&amp;pn=0\">&lt; &lt; Erste Anfrage</a>";
                                
if (
$pn 0)
    echo 
"<a href=\"?s=".$s."&amp;pn=".($pn-1)."\">&lt; Zur&uuml;ck</a>";
            
if (((
$pn+1)*$max_row) < ($tr))
    echo 
"<a href=\"?s=".$s."&amp;pn=".($pn+1)."\">Weiter &gt;</a>";
                     
if (((
$pn+1)*$max_row) < ($tr))
    echo 
"<a href=\"?s=".$s."&amp;pn=".$tp."\">Letzte Anfrage &gt; &gt;</a>"
EDIT

Au bin ich blöd... schon den Fehler gefunden....
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 28.04.2007, 14:24  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
Zitat von KingCrunch
Zitat:
Zitat von DiBo33
oder du machst dir die Tatsache zunutze, daß RAND() bei MySQL auch mit einem Parameter bestückt werden kann mit dessen Hilfe du den "Zufall" steuern kannst.

Hier würde sich dann ORDER BY RAND(SessionId) anbieten.

Die "zufälllige" Sortierung bleibt dann für die gesamte Session erhalten.
Das steuert aber nur die Zufallsgenierung, aber das sorgt nicht dafür, dass die "Zufallszahl" im Rahmen der Session identisch bleibt. Ergo hätte er zwar ne feste Folge von Zufallszahlen, aber bei jedem Aufruf trotzdem eine andere (solange bis sich eben die Folge wiederholt ).
Falsch, setze als Parameter eine Konstante ein und wiederhole die Abfrage sooft du nur willst.

Du wirst erkennen dass die Reihenfolge der Sortierung immer identisch bleibt.

Hast du also als Parmeter die SessionId, bleibt die Sortierung solange erhalten bist sich die SessionId ändert.
DiBo33 ist offline  
Alt 28.04.2007, 20:52  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Hmm ... Ich werd das Manual mal befragen, aber bei den mir bisher bekannten Implementierung von Zufallsfunktionen gibt der (zumeist optionale) Parameter entweder (je nach Implementierung) den Wertebereich oder die Intialisierungskonstante an.

... aber du hast Recht ^^ Find ich zwar ne irritierende, weil abweichende Variation, im Zusammenhang mit Datenbanken aber sicher durchaus nützlich.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
 


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
Abfrage mit count, order by, group by...und Probleme BartTheDevil89 Datenbanken 2 15.06.2008 13:34
ORDER BY im Subquery cycap Datenbanken 12 31.10.2007 20:31
Abfrage = "SELECT * FROM links ORDER BY id" Taktaky PHP Tipps 2008 2 22.08.2007 14:37
HTML/CSS: Gitternetz-Tabelle, selektierte Zellen Zergling-new Tutorials 0 06.07.2007 19:53
mysql RAND() != php rand()? benpicco Datenbanken 4 30.07.2006 23:10
Problem mit Ausgabe bzw. Abfrage mit ORDER BY mayer Datenbanken 7 02.07.2006 21:45
order by erweiterung . frage zum verst�ndnis... Promaetheus Datenbanken 5 07.12.2005 14:26
COUNT (*) AS und ORDER BY RAND() JEGO PHP Tipps 2007 4 25.11.2005 11:10
Rand BEGINNER-L HTML, Usability und Barrierefreiheit 6 02.10.2005 17:43
SELECT tbl.col AS a ORDER BY tbl.a versionsabhängig? axo Datenbanken 3 15.04.2005 15:50
Fehler im Script (evtl. rand() ) horvath-media PHP Tipps 2005 2 31.03.2005 14:25
Syntaxfehler, wohin kommt ORDER BY PHP Tipps 2005 7 12.02.2005 13:21
[Erledigt] mysql zufallswert Datenbanken 2 01.11.2004 10:23
DISTINCT oder ORDER BY unknownsoul Datenbanken 5 20.08.2004 12:12
[Erledigt] Skandal: rand() getürkt? Off-Topic Diskussionen 4 06.06.2004 22:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql order by rand und dann order by

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