Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con la stampa delle informazioni recuperate dal server MySQL

    Ciao, parto dal principio, sto cercando di richiamare le informazioni inserite nel database MySQL(phpmyadmin), una specie di community dove gli utenti postano quello che vogliono, da frasi a immagin, video ecc.. L'utente ha degli amici. Faccio in modo che il post che ha creato questo utente venga letto dai suoi amici.. Lo script l'ho già fatto e adesso nasce un problema, del tipo:
    Richiamo con il metodo SELECT per la stampa delle informazioni contenute nel database e uso while per stampare la lista intera. Solo che qui non mi stampa solo una volta il post creato da se stesso, ma lo stampa per quanti amici ho.. quindi ess..

    -----
    POST1[IO] = Ciao a tutti....
    POST2[AMICO2] = Una fantastica giornata....
    POST3[IO] = Ciao a tutti....
    POST4[AMICO3] =
    POST5[AMICO4] = (Immagine)
    POST6[IO] = Ciao a tutti....
    -----
    Cioè mi stampa più volte lo stesso mio post, controllo nel database ma c'è solo un post con quella frase..
    Questo è lo script...


    <?php
    include_once("include/connessione.php");

    $max = 18;
    $all_friends = array();
    $sql = "SELECT user1 FROM friends WHERE user2='".$_SESSION['username']."' AND accepted='1' ORDER BY RAND() LIMIT $max";
    $query = mysqli_query($db_conx, $sql);
    while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    array_push($all_friends, $row["user1"]);
    }
    $sql = "SELECT user2 FROM friends WHERE user1='".$_SESSION['username']."' AND accepted='1' ORDER BY RAND() LIMIT $max";
    $query = mysqli_query($db_conx, $sql);
    while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    array_push($all_friends, $row["user2"]);
    }
    $friendArrayCount = count($all_friends);
    if($friendArrayCount > $max){
    array_splice($all_friends, $max);
    }
    $orLogic = '';
    foreach($all_friends as $key => $user){
    $orLogic .= "username='$user' OR ";
    }
    $orLogic = chop($orLogic, "OR ");
    $sql_x = "SELECT username FROM users WHERE $orLogic";
    $query_x = mysqli_query($db_conx, $sql_x);
    while($row_p = mysqli_fetch_array($query_x, MYSQLI_ASSOC)) {
    $friend_username = $row_p["username"];


    $select_name_user_friend = $db_conx->query("SELECT * FROM user_personal WHERE username='$friend_username'");
    if(mysqli_num_rows($select_name_user_friend)){
    $row_friend_name_surname = mysqli_fetch_assoc($select_name_user_friend);
    $name_friend = $row_friend_name_surname['name'];
    $surname_friend = $row_friend_name_surname['surname'];
    }


    $statuslist = "";
    $sql = "SELECT * FROM status WHERE account_name='$friend_username' AND type='a' AND del='0' AND privacy='1' OR account_name='$friend_username' AND type='c' AND del='0' AND privacy='1' OR author='".$_SESSION['username']."' AND type='c' AND del='0' ORDER BY postdate DESC LIMIT 20";


    $query = mysqli_query($db_conx, $sql);
    $statusnumrows = mysqli_num_rows($query);
    while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    echo $row['post']."<br/>";
    echo $row['username']." - ".$name_friend."<br/>";
    echo $row['date_post']."<br/>";
    }
    }

    ?>

    Il codice è simile, ho cambiato solo qualcosina, tipo la grafica totalmente eliminata...
    Tabella amici
    Allora: L'user 1 è invia l'amicizia all'user2 e lui a sua volta sceglie di accettarla o meno..
    Mettiamo che l'utente2 accetti l'amicizia.. In poche parole, questo codice preleva i miei amici. Ora lo script dovrebbe escludere il mio username, ma visualizzare i miei amici.. classificati come "$friend_username", quindi mi visualizza i loro post. sul codice di stampa, è inserita una parte che dice
    Codice PHP:
    account_name='$_SESSION['username']' AND type='c' AND del='0' 
    , a questo punto, mi dovrebbe far vedere anche i post che ho pubblicato io, ma così non accade, perché mi fa visualizzare una doppia volta(se no tripla o quadrupla volta), lo stesso post che ho pubblicato io..
    Come posso fare che vengano visualizzati tutti i post degli amici e miei senza che mi copi più volte lo stesso post?
    Da cosa è dipeso questo errore?
    Come posso risolverlo??
    Ultima modifica di frankin0; 19-01-2014 a 20:41

  2. #2
    nessuno sa come fare?

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.