php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.12.2011, 15:52  
Neuer Benutzer
 
Registriert seit: 26.08.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Spanky1342 befindet sich auf einem aufstrebenden Ast
Standard PHP realisierung nächster Benutzer.

Guten Abend zusammen,

Ich habe folgendes Problem mit meinen Gedanken... und hoffe mir kann hier jemand auf die Sprünge helfen.

Ich habe mit PHP ein bildervoting realisiert. Jedes bild hat eine eigene Unique ID. bevor man das bild in einer Galerie sehen kann, muss der User die AGBs akzeptieren. Danach wird das Bild erst in die Galerie aufgenommen. Bei Aktivierung des Bildes, wird eine ID zufällige uniqueID generiert. diese ID nehme ich um bei jeweiligen Funktionen das Bild zu identifizieren.

Mein Problem ist, ich habe eine Ausgabe auf der Seite auf 9 Bilder / Seite beschränkt. Wenn ich nun auf ein Bild drauf klicke, zeigt er mir das auch an und dort habe ich die möglichkeit für das Bild 1x am Tag zu voten. Auf der ersten Seite soll am Anfang das bild mit den meistens Votes stehen. In der Detailansicht wo ich für das Bild voten kann, sollen rechts und links neben dran jeweils ein Pfeil stehen, wenn ich auf diesen klicke soll das nächste Bild geladen werden...

wie deklariere ich das, dass meine Datenbank weiss welches Bild es als nächstes ausgeben soll... zb. schaue ich mir grade Bild platz 3 an, habe links und rechts einen Pfeil, drücke ich auf den linken pfeil soll platz 2 erscheinen. Drücke ich auf den rechten Pfeil soll platz 4 erscheinen (das bild mit den 4 meisten Votes).

Ich komme da grad nicht dahinter, würde mich über Feedback, Informationen und Hilfestellungen freuen!

Frohe Festtage an alle!
Spanky1342 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.12.2011, 16:14  
Benutzer
 
Registriert seit: 23.09.2009
Beiträge: 67
PHP-Kenntnisse:
Anfänger
MFGSparka befindet sich auf einem aufstrebenden Ast
Standard

Naja. Irgendwie bekommst du doch auch raus welches Bild auf Platz 3 ist. Warum sollte der selbe Weg nicht für Platz 2 und 4 funktionieren?

Und Beispielcode ist nie zu unterschätzen...
MFGSparka ist offline   Mit Zitat antworten
Alt 23.12.2011, 16:18  
Neuer Benutzer
 
Registriert seit: 26.08.2010
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Spanky1342 befindet sich auf einem aufstrebenden Ast
Standard

Also ich habe folgende 2 querys für previous und next image.

PHP-Code:
if(isset($_GET['key'])) $imageKey $_GET['key'];
    
    
//Vorherigen Datensatz ermitteln
    
$queryPrev     "SELECT * FROM customers WHERE `votes` < (SELECT votes FROM customers WHERE `activation_key` = '".$imageKey."') ORDER BY votes DESC";
    
$resultPrev mysql_query($queryPrev);
    
$resultNext mysql_fetch_assoc($resultPrev);
    
    
//nächsten Datensatz ermitteln
    
$queryNext     "SELECT * FROM customers WHERE `votes` > (SELECT votes FROM customers WHERE `activation_key` = '".$imageKey."') ORDER BY votes DESC";
    
$resultNext mysql_query($queryNext);
    
$resultNext mysql_fetch_assoc($resultNext);
    
    
$previousRocker $resultPrev['activation_key'];
    
$nextRocker        $resultNext['activation_key']; 
das HTML sieht in etwa so aus...

PHP-Code:
<div id="content"> 
    <?php
    $query 
"SELECT * FROM customers WHERE `activation_key` = '".$userKey."'";
    
$result mysql_query($query);
    while (
$list mysql_fetch_assoc($result)) {


    
?><div class="prevpage"><a href="profil?key=<?php echo $previousRocker ?>"><img src"" alt="<<"></div>


        <div class="name">
            <p><?php echo $list['firstname'].' '.$list['lastname']; ?></p>
        </div>
        <div class="image"><img src="<?php echo $list['image']; ?>"</div>
        <div class="share">TODO: Weitersagen Button</div>
        <div class="vote">
            <form method="POST">
                <input type="hidden" name="votes" value="<?php echo $list['activation_key']; ?>">
                <input type="submit" name="submit" value="<?php echo $buttonText ?>"><img src="http://www.php.de/media/symbol.jpg" width="25px" height="25px" alt=""/>Votes: <?php echo $list['votes'?>
           </form>
        </div>

    <div class="nextpage"><a href="profil?key=<?php echo $nextRocker ?>"><img src"" alt=">>"></div>

</div>
<?php
  
}
?>
wenn ich jetzt bild auf Platz anschaue, und klicke auf vorheriges ... also für Platz 2, dann zeigt er mir platz 1 an... zurück gehts aber nicht, da bekomme ich nur ne leere page ohne den angehängten key

Geändert von Spanky1342 (23.12.2011 um 16:21 Uhr).
Spanky1342 ist offline   Mit Zitat antworten
Alt 24.12.2011, 10:19  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Das erscheint mir etwas unsauber.
PHP-Code:
if(isset($_GET['key'])) $imageKey $_GET['key']; 
schön, daß Due s afragst, aber leider ungefiltert und was wenn die Seite direkt aufgerufen wird? Dann ist $imageKey nicht gesetzt für die SQL-Abfrage!
PHP-Code:
    //Vorherigen Datensatz ermitteln
    
$queryPrev     "SELECT * FROM customers WHERE `votes` < (SELECT votes FROM customers WHERE `activation_key` = '".$imageKey."') ORDER BY votes DESC";
    
$resultPrev mysql_query($queryPrev);
    
$resultNext mysql_fetch_assoc($resultPrev);
    
    
//nächsten Datensatz ermitteln
    
$queryNext     "SELECT * FROM customers WHERE `votes` > (SELECT votes FROM customers WHERE `activation_key` = '".$imageKey."') ORDER BY votes DESC";
    
$resultNext mysql_query($queryNext);
    
$resultNext mysql_fetch_assoc($resultNext); 
Das ist imho zu viel Overhead! Eine Abfrage würde reichen, wenn Du anhand der Bild IDs (Primary KEY?) navigierst.
Dann ist schematisch gesehen Previous und Next so zu verstehen:
PHP-Code:
$previousImageKey $currentImageKey 1;
$nextImageKey $currentImageKey 1
das vernünftig in die jeweiligen Links eingesetzt erhältst Du auf Zurück das vorherige und bei weiter das nächste Bild...
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews 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
Suche Gedankenanstoß - Benutzer in Gruppen einteilen markusK HTML, Usability und Barrierefreiheit 6 09.09.2011 00:32
[Erledigt] Singe Sign On, wie zum... serious-cool PHP Einsteiger 9 24.03.2011 13:23
FTP Benutzer auf 1 Verzeichnis einschränken jjkkll PHP-Fortgeschrittene 5 22.01.2011 03:43
Benutzer laden unterschiedliche css Dateien keek PHP Tipps 2010 6 29.03.2010 16:52
Login Benutzer Verifikation und Session knuffiwuffi PHP Tipps 2009 3 06.11.2009 18:40
[Erledigt] Benutzer in phpbb löschen - per sql-Befehl Datenbanken 2 23.12.2005 09:52
mehrere Benutzer arbeiten an einem Datensatz ajo_silent Datenbanken 6 20.11.2004 13:52
Problem beim Forum (Benutzer auslesen) PHP Tipps 2004 1 24.06.2004 10:05
Gibt es &amp;quot;htacces&amp;quot; ohne Abfrage von Benutzer und Ke Server, Hosting und Workstations 2 19.06.2004 18:17


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