Results 1 to 8 of 8
Thread: Select ñ äàííè îò DB
Hybrid View
-
16th August 2006 16:22 #1
Select ñ äàííè îò DB
Çäðàâåéòå! Âúïðîñúò ìè å ñâúðçàí ñ èçâëè÷àíåòî íà äàííè îò áàçà äàííè è âìúêâàíåòî èì â select ñïèñúê. Èñêàì ñúùî òàêà ïðè èçáîð íà îïðåäåëåí çàïèñ îò ìåíþòî , äðóãî ïîëå äà ñå ïîëúëâà àâòîìàòè÷íî ñúñ ñòîéíîñò îò ñúùàòà òàáëèöà íà áàçàòà äàííè ( äðóãîòî ïîëå å îáèêíîâåííî òåêñòîâî ïîëå). Íàïðèìåð : Òàáëèöà Êîìïîíåíòè, ñúäúðæàùà ñëåäíèòå ïîëåòà : Model, SN , Price.
Model äà èçëèçà â select ñïèñúêà, à SN äà ñå ïîïúëâà àâòîìàòè÷íî.
Åòî è ñîðñà, êîéòî ðåàëèçèðà select-a:
Îñòàâà ñàìî àâòîìàòè÷íîòî äîáàâÿíå â ïðàçíî òåêñòîâî ïîëå. Àêî íÿêîé ìîæå äà ïîìîãíå, ùå ñúì áëàãîäàðíà. Ìåðñè ïðåäâàðèòåëíî.PHP Code:$sql = "SELECT * FROM components";
function database_select($tbl_value, $tbl_label, $select_name, $label, $init_val = "") {
global $sql;
$result = mysql_query($sql);
$menu = "<label for=\"".$select_name."\">".$label."</label>\n";
$menu .= "<td><select name=\"".$select_name."\">\n";
$curr_val = (isset($_REQUEST[$select_name])) ? $_REQUEST[$select_name] : $init_val;
$menu .= ($curr_val == "") ? " <option value=\"\" selected>----------------Ìîëÿ èçáåðåòå-----------\n" : "<option value=\"\">\n";
while ($obj = mysql_fetch_object($result)) {
$menu .= " <option value=\"".$obj->$tbl_value."\"";
$menu .= ($obj->$tbl_value == $curr_val) ? " selected" : "";
$menu .= ">".$obj->$tbl_label."\n";
$result = mysql_query($sql);
}
$menu .= "</select></td>\n";
mysql_free_result($result);
return $menu;
}
echo database_select("Model", "Model", "NewPr", "Íîâ êîìïîíåíò:");
-
16th August 2006 16:38 #2
Èìà íÿêîëêî íà÷èíà äà ñå íàïðàâè àâòîìàòè÷íîòî ïîïúëâàíå íà ïðàçíî òåêñòîâî ïîëå. Åäèí íà÷èí å äà ñúáìèòâàø ôîðìà ïðè èçáîð îò ìåíþòî êàòî ïîäàâàø ïàðàìåòúð êàêâî å èçáðàíî.
Âòîðè íà÷èí å äà ïîëçâàø javascript.
$menu .= " <option value=\"".$obj->$tbl_value."\"";
òóê çà value ñëàãàø ñòîéíîñòòà, êîÿòî èñêàø äà îòèäå â òåêñòîâîòî ïîëå. Ñëàãàø onChagne èâåíò íà ìåíþòî, êîéòî âèêà ôóíêöèÿòà, êîÿòî ïðîìåíÿ ñòîéíîñòòà íà òåêñòîâîòî ïîëå.
Òðåòè íà÷èí å äà ïîëçâàø ñêðèò iframe çà áóôåð è ñ íåãî äà èçâëè÷àø íóæíèòå äàííè.
Ïúðâèÿò íà÷èí íå òè ãî ïðåïîðú÷âàì - èçëèøíî ùå ñå òîâàðè ñúðâúðà/ ïîòðåáèòåëÿ ñ òðàôèê. Âòîðèÿò íà÷èí å íàé-ëåñåí è íÿìà èçëèøåí òðàôèê. Òðåòèÿò íà÷èí ìèñëÿ, ÷å å íàé-åëåãàíòåí è íàé-óäà÷åí ÑÀÌÎ àêî ùå èçâëè÷àø ãîëÿìî êîëè÷åñòâî äàííè. Íàïðèìåð àêî íå òè òðÿáâà ñàìî öåíàòà íà ïðîäóêòà, àìè îùå äâå-òðè õàðàêòåðèñòèêè... òîãàâà òîâà å íàé-óäà÷íèÿò âàðèàíò.
Àêî â ïðàçíîòî òåêñòîâî ïîëå ùå ïîïúëâàø ñàìî öåíàòà ïðèìåðíî, àç áèõ èçáðàë âòîðèÿò íà÷èí.
-
16th August 2006 20:29 #3Ìîëÿ òå, áúäè ïî-êîíêðåòåí, íå ñúì çàïîçíàòà ñ JavaScript. Áëàãîäàðÿ ïðåäâàðèòåëíî
Originally Posted by genn
-
17th August 2006 09:36 #4
Ïúðâî òðÿáâà äà äîáàâèø ñëåäíîòî
<select name="menu1" id="menu1" onChange="update_selection();">
ïðàçíîòî òè òåêñòîâî ïîëå òðÿáâà äà èçãëåæäà ãîðå-äîëó òàêà:
<input type="text" name="field1" id="field1">
ñëåä òîâà â <head></head> ïðèìåðíî ñëàãàø ñëåäíîòî:
<script>
function update_selection( )
{
document.getElementById( "field1" ).value = document.getElementById( "menu1" ).value;
}
</script>
Òîçè åäèíñòâåí ðåä ïðàâè ñëåäíîòî - âçèìà ñòîéíîñòòà îò èçáðàíèÿ åëåìåíò â ìåíþòî è ÿ ñëàãà è â òåêñòâîòîòî ïîëå.
Åñòåñòâåíî òîâà å íàé-îïðîñòåíèÿ âàðèàíò è íÿìà íèêàêâè ïðîâåðêè çà ãðåøêà è äàëè å âàëèäíà ñòîéíîñòòà. Íàïðèìåð ìîæå äà ïðàâèø ïðîâåðêà äàëè å çàðåäåíà öÿëàòà ñòðàíèöà, çà äà íå ñå îêàæå, ÷å ïîòðåáèòåëÿò èçáèðà íåùî îò ìåíþòî, à òåêñòîâîòî ïîëå îùå íå å çàðåäåíî...àêî ñå ñòèãíå äî òîçè ñëó÷àé, javascript-úò ùå ãðúìíå ñ ãðåøêà. Òàçè ïðîâåðêà íàé-åëåãàíòíî ìîæå äà ñå íàïðàâè ïî ñëåäíèÿ íà÷èí:
<body onLoad="init_form();">
</body>
òîãàâà ïðè ãîðíàòà ôóíêöèÿ äîáàâÿø íîâà ôóíêöèÿ, êîÿòî ùå ñå âèêà, êîãàòî öÿëàòà ñòðàíèöà å çàðåäåíà, à êúì <select> äîáàâÿø disabled="disabled".
function init_form()
{
document.getElementById( "menu1" ).disabled = false;
}
Åñòåñòâåíî òîâà å ñàìî åäèí âàðèàíò....èìà õèëÿäè. Ìîæå ïðèìåðíî, àêî ðàáîòèø ñ div äà çàðåæäàø öÿëàòà ôîðìà â åäèí, êîéòî å ñêðèò è íå ñå âèæäà. Äîêàòî ïîòðåáèòåëÿò ÷àêà ñòðàíèöàòà äà ñå çàðåäè, ùå âèæäà äðóã div ñúñ ñúîáùåíèå, ÷å ñòðàíèöàòà ñå çàðåæäà. Êîãàòî ñå çàðåäè, ñúîáùåíèåòî ñå ñêðèâà è ñå ïîêàçâà äðóãèÿò ñ èñòèíñêîòî ñúäúðæàíèå...
Êàæè êîé âàðèàíò íàé-ìíîãî òè õàðåñâà è àêî íå ìîæåø äà ãî íàïðàâèø, ùå òè ïîìîãíà
-
17th August 2006 11:40 #5
genn, ìåðñè çà ñòàðàíèåòî è ïîäðîáíèòå îáÿñíåíèÿ, íî ìèñëÿ ÷å íå ñè ìå ðàçáðàë ïðàâèëíî. Ìîæå áè è àç íå ñúì îáÿñíèëà êàêòî òðÿáâà
. Ñòîéíîñòòà, êîÿòî òðÿáâà äà èçëèçà àâòîìàòè÷íî â òåêñòîâîòî ïîëå , íå å ñúùàòà êàòî òàçè , êîÿòî ñå èçáèðà îò select ìåíþòî. Èìàì áàçà îò äàííè ñ íÿêîëêî òàáëèöè, åäíà îò òÿõ å Êîìïîíåíòè. Òÿ èìà ñëåäíèòå ïîëåòà : Model, SN, Price. Ôîðìàòà, â êîÿòî ñå îïèòâàì äà íàïðàâÿ âúïðîñíèÿ select, èçïîëçâàì çà äîáàâÿíå íà äàííè â äðóãè òàáëèöè îò áàçàòà äàííè. Ò.å èçâëè÷àì äàííè îò òàáëèöà Êîìïîíåíòè è ãè insert-âàì â äðóãà òàáëèöà(òàáëèöàòà êîìïîíåíòè ñå ÿâÿâà ïîìîùíà) . Åòî åäèí ïðèìåð:
| Model | SN | Price |
|HDD WD-AB | 11111111111111 | 40 |
|CPU Intel.. | 2222222222222 | 120 |
............
 select-a, èçëèçàò HDD WD-AB, CPU Intel... êàêòî ñè èçëèçàò ñòàíäàðòíî â ñïèñúê. È àêî ïîòðåáèòåëÿò äà êàæåì èçáåðå HDD-òî , â òåêñòîâîòî ïîëå äà èçëèçà 11111111111111 (ò.å SN). Ñëåä submit íà öÿëàòà ôîðìà, äàííèòå îò select-à è òåêñòîâîòî ïîëå äà ñå insert-âàò â áàçàòà äàííè...òîâà ìîãà äà ãî íàïðàâÿ è ñàìà
Ñ íÿêîëêî äóìè , íóæäàÿ ñå îò ïîìîù çà òåêñòîâîòî ïîëå, ïî-òî÷íî çà ïðåäàâàíåòî íà ñòîéíîñò â íåãî, êîÿòî å îáâúðçàíà ñ èçáîðà îò select ìåíþòî(ñòîéíîñòèòå ñå íàìèðàò â òàáëèöà Êîìïîíåíòè).
Íàäÿâàì ñå äà ñúì áèëà èç÷åðïàòåëíà â îáÿñíåíèÿòà
-
17th August 2006 12:17 #6
Àõà, òîâà ÷å ùå ñúáìèòâàø ôîðìàòà è èçáîðà îò select-à òè òðÿáâà, ïðîìåíÿ ìàëêî íåùàòà... Ìèñëåõ ñè, ÷å ñåëåêòà òè ñëóæè ñàìî çà íàâèãàöèÿ è íà òåá íå òè òðÿáâà äà çíàåø êàêâî å èçáðàíî ïðè åâåíòóàëåí ñúáìèò.
Ò.å. â ìîìåíòà ãåíåðèðàíîòî îò òåáå ìåíþ èçãëåæäà òàêà:
<option value="HDD WD-AD">HDD WD-AD</option>
Òàêà ëè?
ÏÏ çàáåëÿçàõ, ÷å ïðè òåá íÿìà çàòâàðÿù </option> ... åäèí ñúâåò - àêî ïðàâèø âàëèäíà xhtml ñòðàíèöà, çàòâàðÿé íàâñÿêúäå òàãîâåòå... åäèíè÷íèòå êàòî <br> ñòàâàò <br />




Reply With Quote
Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè