dupla while, táblázat, sql, mi1más :)
Sziasztok!
Az iWiW-hez hasonló közösségi oldalt csinálgatok. Bármilyen felhasználókat listázó oldalon az ismeretlen userek sima, az ismerősök zöld, míg a függő kapcsolatok piros szegéllyel jelennek meg. (az adott user meg sárgával) A kódomban vmi nincs rendben, mert a lekérdezés eredményét tartalmazó tömbömet csak egyszer vizsgálja meg, így az adott felhasználónak mindegy, hogy hány ismerőse, vagy függő kapcsolata van, az adott típusból csak az elsőt keretezi be a megfelelő színnel. (pl. 2 függő, 3 ismerősnél 1 függőt, 1 ismerőst keretez be zölddel.) Kérlek titeket, ha tudtok, segítsetek! Köszönettel: daniboyle
A kód:
■ Az iWiW-hez hasonló közösségi oldalt csinálgatok. Bármilyen felhasználókat listázó oldalon az ismeretlen userek sima, az ismerősök zöld, míg a függő kapcsolatok piros szegéllyel jelennek meg. (az adott user meg sárgával) A kódomban vmi nincs rendben, mert a lekérdezés eredményét tartalmazó tömbömet csak egyszer vizsgálja meg, így az adott felhasználónak mindegy, hogy hány ismerőse, vagy függő kapcsolata van, az adott típusból csak az elsőt keretezi be a megfelelő színnel. (pl. 2 függő, 3 ismerősnél 1 függőt, 1 ismerőst keretez be zölddel.) Kérlek titeket, ha tudtok, segítsetek! Köszönettel: daniboyle
A kód:
<?php
$connect = mysql_connect("localhost","csovike10_wiwi","password");
$eredmeny = mysql_db_query ("csovike10_wiwi","SELECT lastname, firstname, username, title, town FROM wiwi ORDER BY regdate DESC");
$user = $_SESSION["user"];
$checkcontacttype = mysql_db_query("csovike10_wiwi","SELECT pendingin, pendingout, contact FROM contacts WHERE username='$user'");
while($contacttype = mysql_fetch_array($checkcontacttype)) /ezzel nem stimmel vmi/
while ($sor = mysql_fetch_array ($eredmeny))
{
echo'
<div>
<table border="0" cellpadding="15" align="left">
<tr>
<td>
<table align="left" border="1"';
if($sor["username"]==$_SESSION["user"]) echo ' bordercolor="#eee769"';
else if($contacttype["pendingin"]==$sor["username"] | $contacttype["pendingout"]==$sor["username"]) echo ' bordercolor="#ee838d"';
else if($contacttype["contact"]==$sor["username"]) echo ' bordercolor="#7be135"';
echo'>
<tr>
<td><table width="100" onMouseOver=bgColor="#d5dde8" onMouseOut=bgColor="#e4e9f0" height="200" border="0" cellpadding="5" align="left"><tr><td width="100" height="100"><a href="main.php?page=profile&user='.$sor["username"].'"><center><img src="pics/noimage.gif" width="100" height="53" border="0"></center></a></td>
</tr>
<tr>
<td height="40"><center>
<b><a href="main.php?page=profile&user='.$sor["username"].'">'.$sor["title"].' '.$sor["lastname"].' '.$sor["firstname"].'</a></b></center></td>
</tr>
<tr>
<td height="10"><div align="center">'.$sor["username"].'</div></td>
</tr>
<tr>
<td height="10"><div align="center">'.$sor["town"].' </div></td>
</tr>
<tr>
<td height="10"><div align="center">életkor</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
';
}
echo '<br><br><br>';
mysql_free_result ($eredmeny);
mysql_close($connect);
?>
mysql_fetch_array
Amit tehetsz, az az, hogy előre lekérdezed egy tömbbe a teljes $contacttype táblázatodat, és azon mész végig mondjuk foreach-csel a fenti while ciklus helyett (nem mintha bármelyik is hatékony lenne több (tíz/száz) ezer felhasználó esetén).
A másik az, hogy mindenképp figyelj a változók escapelésére, mert előfordulhat hogy a felhasználó neve ebben az esetben mondjuk tartalmaz idézőjelet, és akkor bukott az egész script. És persze ez nem csak az SQL query-re érvényes, hanem a HTML formázásodra is.
Mondjuk tegyük fel hogy a felhasználó neve O'Reilly. Ekkor a
Hasonló a helyzet például az
mysql_fetch_array
Amit tehetsz, az az, hogy előre lekérdezed egy tömbbe a teljes $contacttype táblázatodat, és azon mész végig mondjuk foreach-csel a fenti while ciklus helyett (nem mintha bármelyik is hatékony lenne több (tíz/száz) ezer felhasználó esetén).
A másik az, hogy mindenképp figyelj a változók escapelésére, mert előfordulhat hogy a felhasználó neve ebben az esetben mondjuk tartalmaz idézőjelet, és akkor bukott az egész script. És persze ez nem csak az SQL query-re érvényes, hanem a HTML formázásodra is.
Mondjuk tegyük fel hogy a felhasználó neve O'Reilly. Ekkor a
Hasonló a helyzet például az
mysql_fetch_array
Amit tehetsz, az az, hogy előre lekérdezed egy tömbbe a teljes $contacttype táblázatodat, és azon mész végig mondjuk foreach-csel a fenti while ciklus helyett (nem mintha bármelyik is hatékony lenne több (tíz/száz) ezer felhasználó esetén).
A másik az, hogy mindenképp figyelj a változók escapelésére, mert előfordulhat hogy a felhasználó neve ebben az esetben mondjuk tartalmaz idézőjelet, és akkor bukott az egész script. És persze ez nem csak az SQL query-re érvényes, hanem a HTML formázásodra is.
Mondjuk tegyük fel hogy a felhasználó neve O'Reilly. Ekkor a
Hasonló a helyzet például az
Hali! Köszi szépen a választ.
Üdv: daniboyle
com
<compilation>
<assemblies>
<add assembly="MNissen.DataControls, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e21df62f5c740a13" />
<add assembly="Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e21df62f5c740a13" />
<add assembly="Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e21df62f5c740a13" />
<add assembly="Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e21df62f5c740a13" />
<add assembly="Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e21df62f5c740a13" />
</assemblies>
</compilation>
</system.web>
------------------
132-S-708 ! 132-S-712 ! 132-S-815 ! 132-S-900