Autor | Zpráva | ||
---|---|---|---|
j4kub Profil * |
#1 · Zasláno: 27. 2. 2013, 13:09:09
Dobrý deň,
mám takúto prosbu: v databáze mam 2 tabuľky clanky a recenzenti a chcem spraviť nasledovné: pri priraďovaní recenzenta k článku, ktorý filtrujem pomocou ID článku, cez načítaný formulár chcem aby sa recenzenti dali vybrať pomocou tagu select. Mám takýto script: if($aid=='priradit'){ if($id!=""){ $data = mysql_query ("SELECT * FROM clanky,recenzenti WHERE clanky.id = $id "); while($nacit = MySQL_Fetch_Array($data)) { echo " <html> <head> <title> Priradiť recenzenta </title> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <link rel='stylesheet' type='text/css' href='css/styly.css' /> </style> </head> <body> <h3>Priradiť recenzenta</h3> <form action='upravy_clanky.php?akcia=priraditrecenzenta' method='post'> <table border=0 cellspacing=0 cellpadding=2> <tr> <td>ID:</td><td><input type='text' name='id' value='$nacit[id]' readonly></td> </tr> <tr> <td>nazov:</td><td><input type='text' name='nazov' value='$nacit[nazov]' readonly></td> </tr> <tr><td> E-mail:<td><input type='text' name='autor' value='$nacit[autor]' readonly></td> </tr> <tr> <td>datum:</td><td><input type='text' name='datum' value='$nacit[datum]' readonly></td> </tr> <tr> <td>anotacia:</td><td><input type='text' name='anotacia' value='$nacit[anotacia]' readonly></td> </tr> <tr> <td>recenzent:</td><td><input type='text' name='recenzent' value='$nacit[recenzent]'></td> </tr> <tr><td>recenzent_test:</td><td><select name='test' size='1'><option value='$nacit[email]'>$nacit[email]</select> </td> </tr> <tr><td></td> <br><br> <td><input type='submit' value='Priradiť recenzenta' /></td> </talbe> </form> </body> </html> ";} } } Nedokážem spraviť aby sa všetky riadky z tabulky recenzenti vypísali do jedného selectu, ktorý je v scripte nazvaný ako recencent_test. Teraz sa mi to vypíše do 2 formulárov kde v selecte je najskôr jeden riadok a potom druhý. V tabuľke clanky mám stĺpce id, autor, clanok a atď a v tabuľke recenzenti mám jeden stĺpec emal. Za Vašu odpoveď budem vďačný. Vôbec netuším ako s tým pohnúť. |
||
donny Profil |
Ak správne chápem čo sa snažíš urobiť tak to príliš komplikuješ.. malo by to fungovať tak že si načítaš samostatne články a potom samostatne recenzentou, ktorých budeš priradzovať a nepotrebuješ to v podstate ani spájať s článkami (aj tak nemáš ako pri spomenujte štruktúre).
echo "<select name='test' size='1'>"; $data = mysql_query ("SELECT * FROM recenzenti"); while($nacit = MySQL_Fetch_Array($data)) { echo "<option value='$nacit[email]'>$nacit[email]</select>"; } echo "</select>"; Pričom vo formulári potom načítaš už iba údaje s článkov.. |
||
Camo Profil |
j4kub:
Preštuduj si ako funguje cyklus while a funkcia mysql_fetch_assoc. Uvedom si, že cyklus while opakovane vykoná všetko, čo sa nachádza v jeho obore. V tvojom prípade to znamená, že viacnásobne vypíše toto: <html> <head> <title>... |
||
j4kub Profil * |
#4 · Zasláno: 28. 2. 2013, 12:52:01
Camo asi viem na čo narážaš, ale ten výpis prejde len raz, nevypisuje sa to dva krát, ale ďakujem, pozriem sa na to ( nie som až taký zdatný :) )
Vyriešil som to ako radil doony a pripájam script ak by to niekto potreboval :) if($aid=='priradit'){ $id = $_GET['id']; if($id!=""){ $data = mysql_query ("SELECT * FROM clanky WHERE id = $id "); while($nacit = MySQL_Fetch_Array($data)) { echo " <html> <head> <title> Priradiť recenzenta </title> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> <link rel='stylesheet' type='text/css' href='css/styly.css' /> </style> </head> <body> <h3>Priradiť recenzenta</h3> <form action='upravy_clanky.php?akcia=priraditrecenzenta' method='post'> <table border=0 cellspacing=0 cellpadding=2> <tr> <td>ID:</td><td><input type='text' name='id' value='$nacit[id]' readonly></td> </tr> <tr> <td>Názov:</td><td><input type='text' name='nazov' value='$nacit[nazov]' readonly></td> </tr> <tr><td> E-mail:<td><input type='text' name='autor' value='$nacit[autor]' readonly></td> </tr> <tr> <td>Dátum:</td><td><input type='text' name='datum' value='$nacit[datum]' readonly></td> </tr> <tr> <td>Anotácia:</td><td><input type='text' name='anotacia' value='$nacit[anotacia]' readonly></td> </tr> <tr><td>Recenzent:</td><td><select name='recenzent' size='1'> ";} $data = mysql_query ("SELECT * FROM uzivatelia WHERE jerecenzent=1 ORDER BY 'idr' "); while($nacit = MySQL_Fetch_Array($data)) { echo "<option value='$nacit[email]'>$nacit[titul] $nacit[meno] $nacit[priezvisko] $nacit[titulpo]</option>"; ;} echo "</select> </td> </tr> <tr><td></td> <br><br> <td><input type='submit' value='Priradiť recenzenta' /></td> </talbe> </form> </body> </html> ";} } |
||
Časová prodleva: 13 let
|
0