مشکل در نمایش چند رکورد از یک ID
سلام و تشکر از دوستان عزیز
شرمنده شاید یه نمه گیج کننده باشه
تو سیستمم دو تیبل دارم که قراره با آی دی به هم مرتبط بشند
مثلا کاربری به نام ali با کد کاربری 10 در تیبل user قرار داره و در تیبل دیگه به نام phone پنج شماره تلفن وجود داره که سه تای آن مربوط به علی هستند
روش تفکیک در تیبل phone اینجوریه که شماره ها با آی دی کاربر ها مشخص شدند
مثلا
ID , Phone
10 , 111111
5 , 222222
10 , 333333
10 , 444444
ولی هنگام نمایش فقط یکی از شماره های ali و یا هر کار بر دیگری رو نشون میده در صورتی که باید تمام شماره های ali رو نشون بده
$user = "uid";
$result = mysql_query("SELECT * FROM user order BY uid DESC");
while($r=mysql_fetch_array($result))
{
$uid=$r["uid"];
$name=$r["name"];
$result2 = mysql_query("SELECT * FROM phone WHERE $user LIKE '$uid'");
while($r2=mysql_fetch_array($result2))
{
$phone=$r2["phone"];
}
echo " User : $user Phone : $phone ";
}
شرمنده میشه یه نگاه به کد زیر بندازید و ببینید مورد از چیه ؟
ممنون از کمکتون
نقل قول: مشکل در نمایش چند رکورد از یک ID
مشکل از اینجاست :
while($r2=mysql_fetch_array($result2))
{
$phone=$r2["phone"];
}
شما دارید مقادیر تلفن ها رو میریزید روی مقدار قبلی خب معلومه که فقط یکیش چاپ میشه.
اگه میخواهید که همه تلفن ها رو توی یک آرایه داشته باشید این کار رو انجام بدین.
$phone[]=$r2["phone"];
اون وقت phone$ تبدیل به یک آرایه میشه که همه تلفن ها رو داره حالا شما میتونید با دستوراتی مثل foreach مقدار این آرایه رو چاپ کنید با به هم متصل کنید.
نقل قول: مشکل در نمایش چند رکورد از یک ID
سلام و ممنون
بعد از اصلاح $phone[]=$r2["phone"];
این کد رو در مسیر قرار دادم ولی درست در نیومد و همه شماره هارو نشون میده
foreach($phone as $val)
{
Print "$val<br>";
}
آیا foreach من درسته ؟
نقل قول: مشکل در نمایش چند رکورد از یک ID
مگه نمیخوای که شماره تلفن های ali که دارای id=10 هست رو از تیبل phone نمایش بدهی؟
خوب چرا اینجوری ننوشیتید؟
<?php
$result=mysql_query("select `phone` from `phone` where `id`='10' ")or die(mysql_error());
while($Row=mysql_fetch_assoc($result)){
echo (++$i)." ".$Row['phone']."<br>";
}
?>
نقل قول: مشکل در نمایش چند رکورد از یک ID
نقل قول:
نوشته شده توسط
mahdik
سلام و ممنون
بعد از اصلاح
$phone[]=$r2["phone"];
این کد رو در مسیر قرار دادم ولی درست در نیومد و همه شماره هارو نشون میده
foreach($phone as $val)
{
Print "$val<br>";
}
آیا foreach من درسته ؟
راستش من الان به کوئری ات نگاه کردم چرا این جوری نوشتی ؟؟؟ به جای like از = استفاده کن.
مشکل از کوئری ات هست وگرنه foreach ات درسته.