PDA

View Full Version : حرفه ای: چرا فقط فراخوانی اولی کار میکند ؟ ( خواندن از بانک )



reza10wert
سه شنبه 25 مهر 1391, 10:23 صبح
سلام
چرا وقتی این کد را چند بار پشت سر هم مینویسم فقط اولی کار میکند ؟

باید چه کنم که توی همه لیستها اضافه بشه ؟


<select style="font-family:tahoma;" name="mohajem_1">
<?php while($row_mohajem =mysql_fetch_array($query_mohajem) ){
echo '<option value="'.$row_mohajem['name'].'">'.$row_mohajem['name'].'</option>'; }
?>
</select>

reza10wert
سه شنبه 25 مهر 1391, 12:38 عصر
خواهش میکنم جواب بدید
خیلی برام مهمه

.fatemeh
سه شنبه 25 مهر 1391, 13:43 عصر
منظورت رو روشن تر بگو.
این طوری که من فهمیدم یعنی همین دستور رو چند بار کپی کردی .
نام row_mohajem$ رو توی حلقه ها، متفاوت کن .ببین درست نمی شه.

Reza1607
سه شنبه 25 مهر 1391, 14:01 عصر
زماني كه شما مي خواين از نتايج يك كوئري مجددا استفاده كنيد بايد از دستور mysql‎_data‎_seek‏ استفاده كنيد تا اشاره كر به ابتدا نتايج بياد
يه راه ساده هست كه براتون ميزارم اميدوارم مشكلتون حل بشه

<?php
$mohajem=array();
while($row_
mohajem =mysql_
fetch_assoc($query_
mohajem))
$mohajem[]=$row_mohajem;
?>

<select style="font-
family:tahoma;"
name="mohajem_1">
<?php
forech($mohajem as $item){
echo '<option value="'.
$item['name']
.'">'.$item
['name'].'</option>';
}

?>
</select>

<select style="font-
family:tahoma;"
name="mohajem_2">
<?php
forech($mohajem as $item){
echo '<option value="'.
$item['name']
.'">'.$item
['name'].'</option>';
}

?>
</select>

به همين راحتي

شرمنده با كوشي دارم جواب ميدم و نمي تونم كدها رو داخل تك كد بذارم

moshaver71
سه شنبه 25 مهر 1391, 14:27 عصر
بجای


mysql_fetch_array()

از


mysql_fetch_assoc()

استفاده کنید.

css-man
سه شنبه 25 مهر 1391, 14:49 عصر
بجای


mysql_fetch_array()

از


mysql_fetch_assoc()

استفاده کنید.



دقیقا ایشون درست میگن
زمانی که از assoاستفاده کنی میتونی از نام های فیلدهای داخل دیتابیست استفاده کنی در غیر اینصورت اگر اشتباه نکنم باید از اعدادشون استفاده کنید

Reza1607
سه شنبه 25 مهر 1391, 16:34 عصر
دوستان اگه دقت كنيد دوستمون گفت بار اول درسته و دفعات بعد جواب نميده كه من علتش رو گفتم
همچنين دستور mysql‎_fetch‎‎_array‏ آرايه اي با انديس عدد و نام فيلد برميگردونه و دستور mysql‎_fetch‎_row‏ هست كه ارايه با انديس عددي برميگردونه

reza10wert
چهارشنبه 26 مهر 1391, 18:47 عصر
زماني كه شما مي خواين از نتايج يك كوئري مجددا استفاده كنيد بايد از دستور mysql‎_data‎_seek‏ استفاده كنيد تا اشاره كر به ابتدا نتايج بياد
يه راه ساده هست كه براتون ميزارم اميدوارم مشكلتون حل بشه

<?php
$mohajem=array();
while($row_
mohajem =mysql_
fetch_assoc($query_
mohajem))
$mohajem[]=$row_mohajem;
?>

<select style="font-
family:tahoma;"
name="mohajem_1">
<?php
forech($mohajem as $item){
echo '<option value="'.
$item['name']
.'">'.$item
['name'].'</option>';
}

?>
</select>

<select style="font-
family:tahoma;"
name="mohajem_2">
<?php
forech($mohajem as $item){
echo '<option value="'.
$item['name']
.'">'.$item
['name'].'</option>';
}

?>
</select>

به همين راحتي

شرمنده با كوشي دارم جواب ميدم و نمي تونم كدها رو داخل تك كد بذارم
ممنون دوست عزیز
مشکلم حل شد
خدا خیرت بده

nariman_t
چهارشنبه 26 مهر 1391, 20:39 عصر
آرایت رو بعد از یک بار استفاده کردن ریست کن تا اشاره گر بعد از یه بار استفاده کردن برای بار دوم به اول آرایه برگرده

reza10wert
چهارشنبه 26 مهر 1391, 22:48 عصر
آرایت رو بعد از یک بار استفاده کردن ریست کن تا اشاره گر بعد از یه بار استفاده کردن برای بار دوم به اول آرایه برگرده
با چه دستوری ریست میشه ؟
روش استفاده لطفا
ممنون

Reza1607
پنج شنبه 27 مهر 1391, 22:19 عصر
اين لينك رو نكاه كنيد
Http://php.net/manual/en/function.mysql-data-seek.php