» »

Dinamični PHP dropdown

Dinamični PHP dropdown

emo panda ::

Zdravo

Zanima me kako bi naredil dinamični dropdown meni. V šoli izdelujemo spletno stran in jaz imam za svoj izdelek forum. Sedaj imam narejene 2 tabele v MySQL bazi, ena je tema, druga pa odgovor. Za ustvariti temo imam narejen navaden form (obrazec) za naslov teme, avtorja in opis teme, za podati odgovor pa imam narejen dropdown meni, ki bi moral iz tabele tema prikazati naslove tem na katere lahko podaš odgovor.
Torej problem je kako iz druge tabele dobiti ime teme v dropdown meni v tabeli odgovor?

Hvala za odgovore :)
Lp, Andraž

ZaphodBB ::

Ena predstavitev podatkov je v bazi.

Druga predstavitev podatkov je v aplikaciji (PHP).

Tretja predstavitev podatkov je na brskalniku (HTML + Javascript).

Ti pa imaš zaenkrat vse pojme pomešane.

Za začetek pogruntaj kje se ti kaj začne in kje se konča. Potem boš pa v aplikaciji prvo obliko spremenil v tretjo.

x3ca ::

pojme maš res mal pomešane, ampak verjetno misliš kaj takega

echo '<select>'
sql = mysql_query('select id_teme, ime_teme from tabela_teme')
while (a = mysql_fetch_array(sql))
   echo '<option value=a[id_teme]>a[ime_teme]</option>'
echo '</select>'


sori sam ta problem je tko trivialen, da upam da boš vsaj sitnakso znal popravit :)
sicer je mal nenavaden pristop tole..

ZaphodBB ::

Tale snippet naenkrat pove zakaj je PHP čudovit in zakaj je grozna abominacija.

x3ca ::

ker meša logiko s prezentacijo? sej to se da odpravit (ja tudi v PHP), samo mislm, da za njegov (srednje)šolski projekt, bo to čisto zadostovalo. :)

ZaphodBB ::

Nisem hotel implicirat, da je to slabo.

Heker v meni je navdušen, inženir poln brazgotin z velikih projektov pa ne. Zna pa tudi na velikih projektih bit zadeva fajn, če se razvijalci obnašajo odgovorno.

Ampak jaz mam zdej glavobol zaradi tehtanja :).

Zgodovina sprememb…

  • spremenil: ZaphodBB ()

emo panda ::

Tisti select moram vstavit v form kajne?
Tole je koda:
<?
$result=mysql_query("Select id,naslov_teme, odgovor from odgovor");
?>
<form action='insert_odgovor.php' method='get'>
Izbira teme
<select name='naslov_teme'>
<?
 while ($row=mysql_fetch_array($result)){



	echo "<option value='".$row['id'].">".$row['naslov']."</option>";
	
	}
?>
</select>
<br>
Odgovor<br>
<textarea rows='5' cols='20' name='odgovor' wrap='physical'></textarea>
<br>
<input type='submit' value='vnesi'>
</form>
Izpis..
while($row=mysql_fetch_array($result))
{
echo"<tr>";
echo"<td>".$row['naslov_teme']."</td>";
echo"<td>".$row['odgovor']."</td>";

Na spletni mi naredi tako:


Tabela "tema":

Tabela "odgovor":


Se opravičujem, ker verjetno je za vas to res lahko in bedno vprašanje, ampak saj veste kako je..vsi ne znamo..

Zgodovina sprememb…

emo panda ::

pred formo je še sql:
$result=mysql_query("Select id,naslov_teme, odgovor from odgovor");

technolog ::

Uporabljaj
<?php
in ne
<?
.

emo panda ::

ok to sem popravil..kako bi moral popraviti kodo da bi mi delal dropdown?

ZaphodBB ::

MisterR ::

ZaphodBB in potem preberem
Drop-down menus are probably the most flexible objects


a rabiš malo morje vrstic da ga postaylaš.

ZaphodBB ::

MisterR je izjavil:

ZaphodBB in potem preberem
Drop-down menus are probably the most flexible objects


a rabiš malo morje vrstic da ga postaylaš.

Fleksibilnost != Enostavnost

Včasih ja, pogosto pa ne.

d4vid ::

Zakaj delaš dve tabeli, eno za teme, drugo za odgovore? Naredi vse v eno tabelo, kjer daš noter še eno polje type recimo in tam napišeš ali je tema ali odgovor potem enostavno prikličeš iz baze SELECT * FROM nekatabela WHERE type="tema" in jih prikažeš na prvi strani... Sam sem sicer že delal forum in ga tudi naredil, mogoče imam še kje kodo :)
Main PC: Asus PN50 | AMD Ryzen 5 4500U | 16 GB RAM | 256 GB SSD
PC2: HP Z400 | Intel Xeon L5630 | 6 GB RAM | 120 GB SSD
Laptop: HP Elitebook 840G1 | Intel i5 | 8 GB RAM | 256 GB SSD

klemen93 ::

če še nisi popravil napake se mi zdi da imaš v tejle vrstici:

echo "<option value='".$row['id'].">".$row['naslov']."</option>";


mal narobe enojne narekovaje zaključene.

emo panda ::

Hvala, sem danes nekako uredil, še sam nevem kje sem naredil napako....klemen93 je bila napaka tudi tam kot praviš da, pa verjetno še kje..potem sem še insert_odgovor.php nekaj popravljal...no v glavnem zdaj dela...hvala vsem!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

HTML in SQL pomoč (strani: 1 2 )

Oddelek: Programiranje
517603 (6481) def0r
»

mysql, insert, values, select

Oddelek: Programiranje
91825 (1652) slosi
»

php & mysql iskanje po podatkovni bazi

Oddelek: Programiranje
141137 (847) MisterR
»

Procentualna tabela s fiksno glavo

Oddelek: Programiranje
71868 (1752) alen1
»

sql injection [PHP + mysql]

Oddelek: Informacijska varnost
111855 (1580) Lion29

Več podobnih tem