• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از دو حلقه while داخل هم
#1
سلام به همه اساتید بنده
من یه مشکل اساسی دارم و ممنون میشم یکی واضح منو راهنمایی کنه
من میخوام دوتا حلقه while را داخل هم کار کنم که یکی اطلاعات یک جدول را در ستون fetch میکنه و دیگری اطلاعات جدول دیگر را در سطر fetch میکنه ولی متاسفانه اون حلقه ای که داخل هست فقط یک مورد را برای من میاره و کار نمیکنه
ممنون میشم راهنمایی کنید سزیعتر
چیکار باید انجام دهم
  پاسخ
تشکر شده توسط :
#2
سلام
عزیز کدی رو که نوشتید بذارید تا راهنمایی بشهHuhHuhHuh
  پاسخ
تشکر شده توسط :
#3
(۱۳۹۵ آذر ۲۲, ۱۲:۲۲ ب.ظ)kasbookar نوشته: سلام
عزیز کدی رو که نوشتید بذارید تا راهنمایی بشهHuhHuhHuh

دوست عزیز کدی که من نوشتم خیلی خیلی نامرتب هست
اگه بازهم میبینید لازم هست چشم میذارم
اما برای بهتر متوجه شدن شما عرض کنم که شما فقط کنید ما دوتا جدول داریم یکی ده تا رکورد داره و جدول دیگه بیست رکورد دارد
حالا من میخوام با اون یک Table رسم کنم که سطرها را اون دوه رکورد شامل بشه و ستون ها را اون بیست رکورد
برای اینکار من از حلقه while‌استفاده میکنم و جواب میگیرم اما در این مورد که باید دو حلقه داخل هم باشد مشکل خورده و کار نمیکنه و حلقه داخلی یک مورد را بیشتر چاپ نمیکنه(یا بیست عدد ستون را چاپ میکنه با یک ردیف یا یک ستون چاپ میکنه با ده تا ردیف---بسته به این هست که کدوم حلقه داخل اون یکی دیگه باشه)
ممنون از پاسخ شما
  پاسخ
تشکر شده توسط :
#4
ببین عزیز کدتو بذار مشکلت کجاست روی کد توضیح بده تا اساتید بهتر کمکت بکنن
یکی دو روش نیست که اول باید دید شما چه روشی رو پیش گرفتید بعد
  پاسخ
تشکر شده توسط :
#5
(۱۳۹۵ آذر ۲۲, ۰۱:۱۴ ب.ظ)kasbookar نوشته: ببین عزیز کدتو بذار مشکلت کجاست روی کد توضیح بده تا اساتید بهتر کمکت بکنن
یکی دو روش نیست که اول باید دید شما چه روشی رو پیش گرفتید بعد

<?php
$result=$conection->query("select * from car WHERE `name` = '".$name."'");
while($row=$result->fetch(PDO::FETCH_ASSOC)){
$codemelli = $row['international-code'];
$_SESSION['codemeliperesent'] = $codemelli;
$name = $row['name'];
$id = $row['id'];
$dateperesent = $row['dateperesent'];
$row['peresent'] = null;
$_SESSION['peresent'] = $row['peresent'];
$idarr = explode(",",$id);
$dateperesentarr = explode(",",$dateperesent);
//print_r($idarr);


$result=$conection->query("SELECT * FROM `day` WHERE `dayname` = '".$day."' ");
while($row=$result->fetch(PDO::FETCH_ASSOC)){
$tarikh = $row['tarikh'];


?>

<tr>
<th><p><?php echo $name; ?></p></th>

<th>
<label>
<input name="tarikh[]" class ="date1" type="checkbox" data-id="<?php echo $tarikh; ?>" value="<?php echo $tarikh; ?>" <?php if((in_array($id,$idarr)) && (in_array($tarikh,$dateperesentarr))){echo "checked";} ?> >
<input name="pere[]" id="<?php echo $tarikh ?>" class ="date11" type="checkbox" value="<?php echo $id; ?>" hidden >
</label>
</th>
<th>
<label>
<input name="tarikh[]" class ="date2" type="checkbox" data-id="<?php echo "2".$tarikh; ?>" value="<?php echo $tarikh."(2)" ?>" <?php if(in_array($id,$idarr) && (in_array($tarikh."(2)",$dateperesentarr))){echo "checked";} ?>>
<input name="pere[]" id="<?php echo "2".$tarikh ?>" class ="date22" type="checkbox" value="<?php echo $id; ?>" hidden>
</label>
</th>
<?php
}
?>
</tr>

<div class="space-4"></div>
<?php
}

?>
</tbody>
</table>




این هم کد من
فکر کنم متوجه میشید تا حدودی...
این یه فرم حضور و غیاب هست و چون درحال کار روی لوکال هستم از دیتابیس قبلی خودم استفاده کردم برای همین نام های جداول مرتبط نیست
برای تعداد جلسات کلاس که قبلا تعریف شده دو چک باکس میذاره
اول برای کلاس اول و دومی برای کلاس دوم
اگه ده جلسه باشه کلاس ها باید بیست عدد چک باکس بذاره
اون یکی حلقه هم لیست دانش آموزان را میآره و زیر هم قرار میده
و با تیک زدن چک باکس ها حضور و غیاب انجام میشه




(حل شد خداراشکر ممنون از اساتید...)
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۵ آذر ۲۲, ۰۱:۳۶ ب.ظ)mahdiiranphp نوشته:
(۱۳۹۵ آذر ۲۲, ۰۱:۱۴ ب.ظ)kasbookar نوشته: ببین عزیز کدتو بذار مشکلت کجاست روی کد توضیح بده تا اساتید بهتر کمکت بکنن
یکی دو روش نیست که اول باید دید شما چه روشی رو پیش گرفتید بعد

<?php
$result=$conection->query("select * from car WHERE `name` = '".$name."'");
while($row=$result->fetch(PDO::FETCH_ASSOC)){
$codemelli = $row['international-code'];
$_SESSION['codemeliperesent'] = $codemelli;
$name = $row['name'];
$id = $row['id'];
$dateperesent = $row['dateperesent'];
$row['peresent'] = null;
$_SESSION['peresent'] = $row['peresent'];
$idarr = explode(",",$id);
$dateperesentarr = explode(",",$dateperesent);
//print_r($idarr);


$result=$conection->query("SELECT * FROM `day` WHERE `dayname` = '".$day."' ");
while($row=$result->fetch(PDO::FETCH_ASSOC)){
$tarikh = $row['tarikh'];


?>

<tr>
<th><p><?php echo $name; ?></p></th>

<th>
<label>
<input name="tarikh[]" class ="date1" type="checkbox" data-id="<?php echo $tarikh; ?>" value="<?php echo $tarikh; ?>" <?php if((in_array($id,$idarr)) && (in_array($tarikh,$dateperesentarr))){echo "checked";} ?> >
<input name="pere[]" id="<?php echo $tarikh ?>" class ="date11" type="checkbox" value="<?php echo $id; ?>" hidden >
</label>
</th>
<th>
<label>
<input name="tarikh[]" class ="date2" type="checkbox" data-id="<?php echo "2".$tarikh; ?>" value="<?php echo $tarikh."(2)" ?>" <?php if(in_array($id,$idarr) && (in_array($tarikh."(2)",$dateperesentarr))){echo "checked";} ?>>
<input name="pere[]" id="<?php echo "2".$tarikh ?>" class ="date22" type="checkbox" value="<?php echo $id; ?>" hidden>
</label>
</th>
<?php
}
?>
</tr>

<div class="space-4"></div>
<?php
}

?>
</tbody>
</table>




این هم کد من
فکر کنم متوجه میشید تا حدودی...
این یه فرم حضور و غیاب هست و چون درحال کار روی لوکال هستم از دیتابیس قبلی خودم استفاده کردم برای همین نام های جداول مرتبط نیست
برای تعداد جلسات کلاس که قبلا تعریف شده دو چک باکس میذاره
اول برای کلاس اول و دومی برای کلاس دوم
اگه ده جلسه باشه کلاس ها باید بیست عدد چک باکس بذاره
اون یکی حلقه هم لیست دانش آموزان را میآره و زیر هم قرار میده
و با تیک زدن چک باکس ها حضور و غیاب انجام میشه




(حل شد خداراشکر ممنون از اساتید...)

اساتید حل شد ممنون از شما
BlushBlushBlushBlushBlushBlush
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان