array Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • array Problem

    Hallo Leute

    ich weis das es ein doofes Konstrukt ist aber anhand der seite lässt es sich nicht anders machen.
    es handelt sich um ein Bildervoting mit IMMER 10 Bildern.es sind einige Fehler in der seite drin die der vorhergehende Programmierer nicht beachtet
    hat.Ich soll es nun flicken.
    die index.php wird aufgerufen von der toplist.php und die id übergeben mit welchem bild er auf die index.php kommt.Daraufhin werden die anderen noch fehlenden Bilder angezeigt und das Voting bei 10 beendet.Solange man sich dran hält!! Aber wehe nicht
    Fehler eins!
    wenn man beim voten die Seite bei bild 5 schliesst und neu auf die toplist geht und auf ein bild klickt kann man das oder die gleichen Bilder nochmal bewerten.
    Fehler zwei
    drückt man die ins Taste oder zurück dann kann man das vorherige Bild auch wieder bewerten da durch
    PHP-Code:
    if($_POST["vote"])
            {    
                
    mysql_query("UPDATE ".$db_table_pictures." SET points=points+".$_POST["vote"].",votes=votes+1 WHERE id=".$_POST["id"].";");
            } 
    jedesmal die Votes gleich in die db geschrieben werden.

    Ich habe mir jetzt ein array gebaut was sich auch wenn die seite wie in Fehler 1 geschlossen wird die votes zur id (bild_id) die abgegeben werden merkt.
    PHP-Code:
    $_SESSION['minimo'][]=$_POST['id'];
    $_SESSION['minimo'][]=$_POST['vote'];
    print_r($_SESSION['minimo']);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][0]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][1]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][2]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][3]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][4]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][5]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][6]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][7]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][8]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][9]);
    echo 
    "<br>";
    print_r($_SESSION['minimo'][10]); 
    Er kann zwar immer noch das Bild z.B Bild 1 wieder bewerten aber nun kommt mein Hilfegesuch

    Wie kann ich nur den ersten angegebenen vote zur Bild_id aus dem array ermitteln( die anderen praktisch ignorieren damit nur 1 vote gezählt wird und
    gleichzeitig die doppelten einträge löschen damit ich am ende nur 10 bild_ids und die Votes dazu in dem Array stehen habe, denn es soll ja noch Leute geben die sich daran halten was sie machen sollen:-)
    Es soll zum Schluss im array so aussehen:
    [0][1] sind die Bild_id 1 und der vote dazu
    [17][18] sind die bild_id 10 und der vote dazu
    Es gibt 3 Weltstädte New York, Tokio und Erfurt

  • #2
    Vielleicht bin ich noch nicht wach genug, kann dir jedenfalls nicht ganz folgen.

    Es geht wohl darum, die User 10 Bilder bewerten zu lassen und dabei sicherzustellen, dass sie
    a) alle 10 Bilder bewerten und
    b) keines doppelt bewerten.

    Das würde ich wie folgt angehen:
    Session anlegen, wenn der User auf die Vote-Seite kommt und noch keine Session existiert.
    Jede Bewertung in der Session, aber noch nicht in der DB speichern.
    Wenn 10 Bewertungen in der Session sind, alles in der DB speichern und die Session zerstören.
    Wenn der User auf die Vote-Seite kommt, nur die Bilder anzeigen, zu denen noch keine Bewertung in der Session existiert.

    Kommentar


    • #3
      ja so in der Art wäre es super. aber habe nur dieses WE Zeit und wenn ich ehrlich bin keinen Bock denen das alles neu zu schreiben.Deshalb so ein flickkram
      Es gibt 3 Weltstädte New York, Tokio und Erfurt

      Kommentar


      • #4
        Ob es wohl möglich wäre, deine SQL-Query mit ein oder zwei Returns zu versehen?

        Kommentar


        • #5
          jetzt wird es haarig!Weiß gerade nicht was du von mir willst!
          Es gibt 3 Weltstädte New York, Tokio und Erfurt

          Kommentar


          • #6
            Sorry, war nicht aufs Thema bezogen, nur ein dezenter Hinweis auf unsere Regeln bezüglich horizontaler Scrollbalken. Hier nachzulesen: http://www.php-resource.de/forum/sho...threadid=50454

            Kommentar

            Lädt...
            X