Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Like button

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    4

    Like button

    Salve vorrei un aiuto con il mio codice.
    Codice PHP:
    $query mysql_query("SELECT * FROM post INNER JOIN users ON post.id_user = users.id_user INNER JOIN like1 ON users.id_user = like1.id_user ORDER BY post.id DESC") or die('Errore: ' mysql_error());                        while($risultato mysql_fetch_array($query)) {                        $a=$risultato['like12'];                           if($a==1) {            $like="dislike";                          } else {                        $like="like";                          }
    <
    input id="like" type="button" value="'.$like.'" onclick="like(' . $risultato["id"] . ' );" /> 
    in pratica vorrei che il pulsante fosse "like" se nel database non trova una corrispondenza e su "dislike" se invece la trova. Il problema sta nella inner join

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Attualmente cosa ti esce ? Facci un esempio.

    Non conosco il tuo applicativo ma leggendo la tua query, capisco che i like sono per gli utenti non per i post.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    4
    Ho risolto così
    Codice PHP:
    $query = @mysql_query("SELECT * FROM post INNER JOIN users ON post.id_user = users.id_user ORDER BY post.id DESC") or die('Errore: ' mysql_error());                        while($risultato mysql_fetch_array($query)) {                        $query2 mysql_query("SELECT * FROM like1 WHERE id_user = $id_user AND id_post = "$risultato['id']."");                           if(mysql_num_rows($query2) ==1) {            $like="dislike";                          } else {                        $like="like";                          } 

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Da dove esce $id_user ?

    Nel tuo primo esempio, non c'è AND id_post = .....

    Forse cosi

    SELECT * FROM post
    INNER JOIN users ON post.id_user = users.id_user
    INNER JOIN like1 ON users.id_user = like1.id_user AND like1.id_post = post.id
    ORDER BY post.id DESC
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2017
    Messaggi
    4
    Posto il codice completo:
    Codice PHP:
    public function show_all($id_user){                                    $query = @mysql_query("SELECT * FROM post INNER JOIN users ON post.id_user = users.id_user ORDER BY post.id DESC") or die('Errore: ' mysql_error());                        while($risultato mysql_fetch_array($query)) {                        $query2 mysql_query("SELECT * FROM like1 WHERE id_user = $id_user AND id_post = "$risultato['id']."");                           if(mysql_num_rows($query2) ==1) {            $like="dislike";                          } else {                        $like="like";                          }
    echo
    '<input id="like" type="button" value="'.$like.'" onclick="like(' $risultato["id"] . ' );" />'

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,344
    Se il codice che hai postato funziona allora non hai bisogno di fare una INNER JOIN sulla tabella users visto che le altre due tabelle hanno il campo id_user.

    SELECT * FROM post
    INNER JOIN like1 ON post.id_user = like1.id_user AND like1.id_post = post.id
    WHERE post.id_user = $id_user
    ORDER BY post.id DESC
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.