Problema visualizzazione lista amici

sappe

Nuovo Utente
27 Mar 2011
27
0
0
In una pagina che dovrebbe stamparmi la lista degli utenti amici dell'utente collegato ho scritto questo codice php:
Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php session_start(); 
$IDutente = $_SESSION['IDutente'];?>
<HTML>
<HEAD>
<TITLE>Your Friends</TITLE><link href="style.css" rel="stylesheet" type="text/css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<div align="center">
  <TABLE class="maintable" CELLPADDING="0" CELLSPACING="0">
    <TR> 
      <TD COLSPAN=3> <IMG SRC="images/index_01.gif" WIDTH=727 HEIGHT=240 ALT=""></TD>
    </TR>
    <TR> 
      <TD ROWSPAN=2 class="navbg" valign="top"><div id="nav">
          <p><span class="h2">Menu</span> <a href="index.php">Home</a> <a href="rules.php">Rules</a> 
            <a href="gallery.php">Gallery</a> <a href="upload.php">Upload</a> <a href="search.php">Search</a>
            <span class="endbox"></span> </p>
						
         
					
<?php 
if ((isset($_SESSION['login']))&&((isset($_SESSION['password'])))){
   echo <<<print
	 
	 <p><span class="h2">Logout</span> <a href="profile.php">Your Profile</a> <a href="logout.php">Logout</a><span class="endbox"></span> </p>
         <p><span class="h2">Friendship</span> <a href="users.php">Search user</a> <a href="friend.php">My friends</a> <a href="request.php">Friends request</a> <span class="endbox"></span> </p>
print;
}
else {
   echo <<<print
	 
	 <p><span class="h2">Sign in</span> <a href="create.html">Create account</a> <a href="login.htm">Login</a><span class="endbox"></span>
print;
}
echo <<<print

 </p>
        </div></TD>
      <TD ROWSPAN=2 class="contentbg" valign="top"><div id="content">
          
print;

 ?>
          <h1>Friend page:</h1>
<h2 align="center">Your friends:</h2>
<?php 
include ("connessione.inc");
$sql="SELECT nickname FROM utenti WHERE IDutente = ALL (SELECT Receiver AS amico FROM amicizie WHERE (Sender = '$IDutente') AND (Friend = '1') UNION SELECT Sender AS amico FROM amicizie WHERE (Receiver = '$IDutente') AND (Friend = '1'))";
$res = mysql_query($sql, $conn) or die("Error!".mysql_error());
while ($records = mysql_fetch_assoc($res)){
   echo <<<MESS
<a href=\"?page="profile.php?id=$records[nickname]\" title=\"Go to his profile\" id=\"previus\">$records[nickname]</a>
<form action="friend.php" id="delete" method="POST" align="right">
<input type="submit" name="button" value="Delete" class="button"/> 
</form>
MESS;
}
//codice del bottone Delete
if (isset($_POST['button'])){
$button=$_POST['button'];
   if ($button == "Delete"){
       $sql2="DELETE FROM amicizie WHERE (Receiver = '$IDutente' and Sender = '$records[nickname]') or (Sender = '$records[nickname]' and Receiver = '$IDutente')";
	     $res2=mysql_query($sql2, $conn) or die("Error!".mysql_error()); 
	 echo "You and $records[nickname] aren't longer friend.";
	 }
}
?>	
 </p>

				</p>

          </br>
					</br>
					</br>
					</br>
          <h1>©SketchMania</h1>
			<TD valign="top" class="spacer"></TD>
    </TR><TR> 
      <TD height="2" class="spacer2"></TD>
    </TR><TR> 
      <TD COLSPAN=3 class="creditsbg">
				<p>| Contact us <a href="http://yahoo.com/" target="_blank">[email protected]</a> | </p></TD>
    </TR>
  </TABLE>
</div>
</BODY>
</HTML>
Ovviamente l'errore è nella richiesta sql, che riscrivo qua:
Codice:
SELECT nickname FROM utenti WHERE IDutente = ALL (SELECT Receiver AS amico FROM amicizie WHERE (Sender = '$IDutente') AND (Friend = '1') UNION SELECT Sender AS amico FROM amicizie WHERE (Receiver = '$IDutente') AND (Friend = '1'))
Il mio database è questo:
http://www.mediafire.com/?j0b4sujt2twja3t
Sono stata ingannata dal fatto che ieri funzionava, ma avevo solo una amicizia con lo stato '1', quindi solo una accettata. Adesso, però, non riesco assolutamente più a richiamare tramite sql l'altro utente (prima di scrivere ho provato sul database ma nisba).
Avete qualche idea di come potrei effettuare la query?
Spero vivamente di non aver sbagliato sezione, vi ringrazio in anticipo per l'aiuto e la pazienza :).
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per prima cosa inverti le due righe
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php session_start(); 
$IDutente = $_SESSION['IDutente'];?>
in questo modo

PHP:
<?php session_start(); 
$IDutente = $_SESSION['IDutente'];?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
session_start deve essere la prima istruzione prima dei tag html (output html)
poi i resto ci do un occhio
 

sappe

Nuovo Utente
27 Mar 2011
27
0
0
ciao
per prima cosa inverti le due righe
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php session_start(); 
$IDutente = $_SESSION['IDutente'];?>
in questo modo

PHP:
<?php session_start(); 
$IDutente = $_SESSION['IDutente'];?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
session_start deve essere la prima istruzione prima dei tag html (output html)
poi i resto ci do un occhio
Grazie della dritta :D se tu mi sapessi aiutare non so dirti quanto te ne sarei grata!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa ma non capisco bene (premetto che non sono molto esperto di mysql).
PHP:
<?php
//....
$sql="SELECT nickname FROM utenti 
WHERE IDutente = ALL (SELECT Receiver AS amico FROM amicizie WHERE (Sender = '$IDutente') AND (Friend = '1') 
UNION SELECT Sender AS amico FROM amicizie WHERE (Receiver = '$IDutente') AND (Friend = '1'))";
//....
?>
tu hai due tabelle "utenti" e "amicizie", giusto?
quello che non capisco (ma può essere la mia poca esperienza) è perchè fai la UNION sulla stessa tabella "amicizie", cioè unisci la tabella su se stessa.
sbaglio o tu vorresti estrarre quel/quelli nickname dalla tab "utenti" che nella tabella "amicizie" che abbiano il Sender=$IDutente o il Receiver=$IDutente e il campo Friend =1 ?
non potresti fare così
PHP:
<?php
//......
$sql="SELECT nickname FROM utenti 
WHERE IDutente = ALL (SELECT Receiver AS amicoR, Sender AS amicoS FROM amicizie WHERE (Sender = '$IDutente' OR Receiver = '$IDutente')
AND Friend = '1')";
//......
?>
prova, al massimo non funzia, allora spera in qualcuno più esperto di me:book:
 

sappe

Nuovo Utente
27 Mar 2011
27
0
0
ciao
scusa ma non capisco bene (premetto che non sono molto esperto di mysql).
PHP:
<?php
//....
$sql="SELECT nickname FROM utenti 
WHERE IDutente = ALL (SELECT Receiver AS amico FROM amicizie WHERE (Sender = '$IDutente') AND (Friend = '1') 
UNION SELECT Sender AS amico FROM amicizie WHERE (Receiver = '$IDutente') AND (Friend = '1'))";
//....
?>
tu hai due tabelle "utenti" e "amicizie", giusto?
quello che non capisco (ma può essere la mia poca esperienza) è perchè fai la UNION sulla stessa tabella "amicizie", cioè unisci la tabella su se stessa.
sbaglio o tu vorresti estrarre quel/quelli nickname dalla tab "utenti" che nella tabella "amicizie" che abbiano il Sender=$IDutente o il Receiver=$IDutente e il campo Friend =1 ?
non potresti fare così
PHP:
<?php
//......
$sql="SELECT nickname FROM utenti 
WHERE IDutente = ALL (SELECT Receiver AS amicoR, Sender AS amicoS FROM amicizie WHERE (Sender = '$IDutente' OR Receiver = '$IDutente')
AND Friend = '1')";
//......
?>
prova, al massimo non funzia, allora spera in qualcuno più esperto di me:book:
Dice questo:
PHP:
Error!Operand should contain 1 column(s)
però ti ringrazio tantissimo di averci provato! :D
Se qualcun'altro ha la soluzione e sa come potrei fare mi farebbe felicissima ad aiutarmi!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sembrerebbe che ci voglia una colonna sola, se non arriva qualche altro esperto, prova a correggere amicoR e amicoS in amico

PHP:
<?php 
//...... 
$sql="SELECT nickname FROM utenti  
WHERE IDutente = ALL (SELECT Receiver AS amico, Sender AS amico FROM amicizie WHERE (Sender = '$IDutente' OR Receiver = '$IDutente') 
AND Friend = '1')"; 
//...... 
?>
oppure prova di brutto a mettere

PHP:
<?php 
//...... 
$sql="SELECT nickname FROM utenti  
WHERE IDutente = ALL (SELECT * FROM amicizie WHERE (Sender = '$IDutente' OR Receiver = '$IDutente') 
AND Friend = '1')"; 
//...... 
?>

dimenticavo nell'ultima prova anche * AS amico
 

sappe

Nuovo Utente
27 Mar 2011
27
0
0
Non funziona così :( non è che devo fare delle query separate? Solo che sto facendo delle prove nel database, ma non ne vengo a capo :( continua a dirmi che l'operatore deve contenere una colonna... :(
Edit: ho risolto per query separate... Due liste separate... Almeno funziona!
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
Y Problema visualizzazione PDF generato da fpdf PHP 1
M Problema visualizzazione colori in photoshop Photoshop 0
M [HTML] Problema visualizzazione immagini su dispositivi HTML e CSS 4
Antonio Nervi [Javascript] Problema visualizzazione banner accettazione cookies Javascript 6
A Problema visualizzazione photoshop elements 9 Photoshop 1
A [Javascript] Problema visualizzazione posizione corrente su mappa Javascript 2
A [PHP] Problema visualizzazione nome utente loggato su sito ecommerce PHP 23
fulviozecchin Problema Visualizzazione tabelle HTML nel Browser HTML e CSS 9
asevenx problema visualizzazione menu sovrapposto allo slider WordPress 7
N Problema visualizzazione dati dopo GET PHP 19
M Problema con visualizzazione immagini da BLOB PHP 1
D problema visualizzazione su smartphones Google Ads (AdWords) 1
LuigiDonato Problema Visualizzazione Menù HTML e CSS 17
B Problema di visualizzazione di uno Slider in jquery jQuery 4
asevenx problema visualizzazione slider con firefox HTML e CSS 3
G Problema visualizzazione sito su iOS HTML e CSS 4
A problema slideshow con visualizzazione mobile HTML e CSS 6
M Problema visualizzazione immagini su blog Tumblr HTML e CSS 2
N ciao a tutti ho un problema con la visualizzazione delle pagine in php PHP 1
D Problema visualizzazione oltre 50 record .... MySQL 2
andrea.peo Problema query con join visualizzazione record ripetuti PHP 5
R Problema di visualizzazione testo con google crome WordPress 1
P Problema visualizzazione immagine da database MySQL 3
S problema di visualizzazione PHP 7
A problema nella visualizzazione file caricato tramite ftp WordPress 0
Emix Problema visualizzazione pagina su host diversi HTML e CSS 3
asevenx problema visualizzazione sito su tablet e portatile PHP 1
A problema visualizzazione dati da tabella PHP 15
N Problema visualizzazione hyperlink con Google Chrome. HTML e CSS 2
S Problema visualizzazione HTML e CSS 5
M Problema visualizzazione codice sorgente altro sito PHP 4
S Problema visualizzazione chrome HTML e CSS 3
GoshMaledetto Problema valori giusti in array sbagliati in visualizzazione Javascript 2
Nicola Miceli Problema Visualizzazione pagina WP su Iphone Smartphone e tablet 0
S Problema visualizzazione codice PHP 4
M Problema visualizzazione immagine PHP 6
P Problema visualizzazione pulsanti dopo scroll jQuery 6
D Problema visualizzazione immagini png PHP 1
M problema di visualizzazione con FF ed Opera HTML e CSS 11
O Problema visualizzazione dati [era:Un problema] HTML e CSS 11
P Problema visualizzazione sito wordpress CMS (Content Management System) 2
A Problema estrazione e visualizzazione immagine da database PHP 16
L Problema visualizzazione immagini formato Tif [era: Formati Tif Problema?!] Windows e Software 1
S Problema permessi visualizzazione immagine PHP 1
G Problema visualizzazione immagini PHP 1
C Problema con visualizzazione dell'immagina da tabella database PHP 5
S Problema visualizzazione HTML e CSS 0
giancadeejay Intro flash,problema nella visualizzazione su sito Flash 2
A IE 8 problema visualizzazione e compatibilità Javascript 0
F problema visualizzazione immagine dopo compilazione form Javascript 2

Discussioni simili