עבור לתוכן

העברה של משתנים בget כשאחד מתעדכן

Featured Replies

פורסם

שלום.

יש לי שאילתה עם LIMIT - ולכן כשיש לי יותר תוצאות מהLIMIT יש לי שדה select שמציג את מספר העמודים וכהמשתמש משנה את הערך בשדה הזה הדף מתחלף ביחד איתו.

הקוד שעשיתי עם השדה select הוא (הקוד המלא הוא סופר ארוך אז זה רק חלק..):





<?php
...
// get total enty results
$row2 = mysql_fetch_array($tot_results);
$total_res = $row2['total'];


// get total pages needed to display all results.
$total_p = ceil($total_res / MAX_RES);


echo 'Showing Page: ';
//generate select field- and select the current page
echo '<select name="p_id" id="p_id" onchange="chg_page()">';
for ($i = 0; $i < $total_p; $i++) {
$k = $i + 1;
if ($i == $p){
echo '<option value="' . $_SERVER['REQUEST_URI'] . '&p=' . $i . '" selected="selected">' . $k . '</option>';
}else{
echo '<option value="' . $_SERVER['REQUEST_URI'] . '&p=' . $i . '">' . $k . '</option>';
}
}
echo '</select> ';
echo 'out of ' . $total_p ;
...
?>

והפונקציה cng_page() פשוט מחליפה את הlocation של הדף לערך הנבחר בשדה select.

הבעיה היא שמתווספים לי אינסוף של משתנים p לשורת כתובת (למרות שהקוד לוקח את האחרון שהתווסף והכל עובד פיקס)

איך אני מונע את ההתווספות האינסופית הזאת?

הקוד משמש למספר דפים (דרך include)אחרת הייתי משתמש $_SERVER['PHP_SELF'] ומוסיף את כל המשתנים בGET ופשוט משנה את הערך של p.

יש דרך להוסיף את המערך GET גם אם אני לא יודע איזה משתנים בדיוק נמצאים בו? (יש לציין שבמקרה כזה אני רוצה לזמן את כל המשתנים במערך GET חוץ מ-p שלא חייב להיות במערך)

פורסם

בלי להבין יותר מדי מה הולך פה חסר לך $ בקבוע שלך, סביר להניח שבגלל זה אתה מקבל הרבה אופציות.

// get total pages needed to display all results.
$total_p = ceil($total_res / MAX_RES);

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים