Autor Zpráva
j4kub
Profil *
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>...
Čo je teda riadne šialenstvo..
j4kub
Profil *
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>
 
 
 
";} 
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: