micro
15.05.2003, 19:56:17
Nie chcą mi się wyswietlać w select option kategorie np. banki,pomoc drogowa,komunikacja. Nie wiem co żle zrobiłem, ale nie moge dojsc do tego jaki bład tu jest. Help me!
Ponizej przedstawiam kod przedstawiający formularz z dwóch tabel
[php:1:408e929adb]<? include("przewodnik/funkcje.php"); ?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Przewodnik</TITLE>
</HEAD>
<BODY>
<?
$id_nazwa = addslashes(htmlentities ($id_nazwa));
$id_kat = addslashes(htmlentities ($id_kat));
$naglowek = addslashes(htmlentities ($naglowek));
$adres = addslashes(htmlentities ($adres));
$telefon = addslashes(htmlentities ($telefon));
if ($id_nazwa && $id_kat && $naglowek && $adres && $telefon && $id_kat && $nazwakat) {
mysql_connect ("localhost", "root", "test") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("bazadanych") or
die ("Nie można połączyć się z bazą bazadanych");
$query = "INSERT INTO przewodnik,kategoria (id_nazwa,id_kat,naglowek,adres,telefon,id_kat,nazwakat)
VALUES ('$id_nazwa', '$id_kat', '$naglowek', '$adres', '$telefon', '$id_kat', '$nazwakat')";
$wynik = mysql_query ($query);
print "<H3>Dziękujemy</H3>Wiadomość została dopisana.";
} else { // Wyświetlenie formularza
$query2="SELECT * FROM kategoria";
$wynik2 = mysql_query($query2);
print "<H5>Dodaj dane:</H5>";
print "<FORM METHOD=POST>";
print "<b>Kategoria:</b><br>"; // TUTAJ NIE WYŚWIETLA KATEGORII
print "<select name="nazwakat">";
print "<?
while($row = mysql_fetch_array($wynik2))";
{
$id_kat = $row['id_kat'];
$nazwakat = $row['nazwakat'];
print "<option value="$id_kat">$nazwakat</option>";
}
print"?>";
print"</SELECT><br>";
print "<B>Nagłówek:</B><BR>";
print "<INPUT TYPE="text" NAME="naglowek" VALUE="$naglowek" ";
print "SIZE=30><BR><B>Adres:</B><BR>";
print "<INPUT TYPE="text" NAME="adres" ";
print " VALUE="$adres" SIZE=30><BR>";
print "<B>Telefon:</B><BR><INPUT TYPE="text" ";
print "NAME="telefon" VALUE="$telefon" SIZE=30><BR>";
print "<INPUT TYPE="submit" VALUE="Wyślij">";
print "</FORM>";
}
?>
<HR noshade color='#669966' size="1"><br><A HREF="index.php">Strona główna</A>,
<A HREF="index.php?id=edycja_kat">Powróć do edycji</A>
</BODY>
</HTML>[/php:1:408e929adb]
maggot
15.05.2003, 20:45:58
[php:1:955e8e62f2]<?php
print "<b>Kategoria:</b><br>"; // TUTAJ NIE WYŚWIETLA KATEGORII
print "<select name="nazwakat">";
// WYWAL TE LINIJKE
print "<?
while($row = mysql_fetch_array($wynik2))"; // STAD WYWAL CUDZYSLOW
{
$id_kat = $row['id_kat'];
$nazwakat = $row['nazwakat'];
print "<option value="$id_kat">$nazwakat</option>";
}
// ... TE TEZ USUN
print"?>";
?>[/php:1:955e8e62f2]
micro
15.05.2003, 22:42:26
Niestety nie pomogło. Wyswietla puste pola. Nie ma tam nazw kategorii. Jak to zrobić? Co zrobiłem zle? Mam dwie tabele. Jedna kategoria z polami id_kat i nazwakat oraz przewodnik z polami id_kat,id_nazwa,naglowek, adres, telefon. I chcę aby formularz wyswietlał kategorie i pozostale pola (ktore sa wyswietlone prawidlowo oprocz pola select option)
micro
16.05.2003, 17:18:40
Już nie trzeba. Doszedłem do tego sam. Dla zainteresowanych umieszczam poniżej kod, który na pewno skorzystają ci początkujący
[php:1:0ad812a961]<?php
<? include("przewodnik/funkcje.php"); ?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Przewodnik</TITLE>
</HEAD>
<BODY>
<?
$id_kat = addslashes(htmlentities ($id_kat));
$naglowek = addslashes(htmlentities ($naglowek));
$adres = addslashes(htmlentities ($adres));
$telefon = addslashes(htmlentities ($telefon));
if ($id_kat && $naglowek && $adres && $telefon ) {
lacz_bd();
$query = "INSERT INTO przewodnik (naglowek,adres,telefon,id_kat) VALUES ('$naglowek','$adres','$telefon','$id_kat')";
$wynik = mysql_query ($query);
print "<H3>Dziękujemy</H3>Dane zostały dopisane.";
} else { // Wyświetlenie formularza
print "<H5>Dodaj dane:</H5>";
print "<FORM METHOD=POST>";
print "<b>Kategoria:</b><br>";
?>
<select name="id_kat">
<?
lacz_bd();
$query2='SELECT * FROM kategoria order by id_kat asc';
$wynik2 = mysql_query($query2);
while($rekord = mysql_fetch_array($wynik2)) {
$nazwakat = $rekord["nazwakat"];
$id_kat = $rekord["id_kat"];
print "<option value="$id_kat">$nazwakat</option>";
}
?>
</SELECT><br>
<?
print "<B>Nagłówek:</B><BR>";
print "<INPUT TYPE="text" NAME="naglowek" VALUE="$naglowek" ";
print "SIZE=30><BR><B>Adres:</B><BR>";
print "<INPUT TYPE="text" NAME="adres" ";
print " VALUE="$adres" SIZE=30><BR>";
print "<B>Telefon:</B><BR><INPUT TYPE="text" ";
print "NAME="telefon" VALUE="$telefon" SIZE=30><BR>";
print "<INPUT TYPE="submit" VALUE="Wyślij">";
print "</FORM>";
}
?>
<HR noshade color='#669966' size="1"><br><A HREF="index.php">Strona główna</A>,
<A HREF="index.php?id=edycja_kat">Powróć do edycji</A>
</BODY>
</HTML>
?>[/php:1:0ad812a961]
matic
21.07.2003, 16:52:07
A po co tyle tych print :?: [/code]
Omega
21.07.2003, 17:19:37
Skoro już dzielisz źródło na html i php, to się tego trzymaj, uważam że powinieneś zrobic np. tak:
[php:1:d21a435c5f]
</SELECT><br>
<B>Nagłówek:</B><BR>
<INPUT TYPE="text" NAME="naglowek" VALUE="<? $naglowek ?>"
SIZE=30><BR><B>Adres:</B><BR>
[/php:1:d21a435c5f]
ale to twój wy
bór, było by po prostu wygodniej...
--------------
DeyV
spenalzo
21.07.2003, 19:40:49
Poprawnie jest tak:
[php:1:9af7724715]
<INPUT TYPE="text" NAME="naglowek" VALUE="<?=$naglowek; ?>"
[/php:1:9af7724715]
lub tak:
[php:1:9af7724715]
<INPUT TYPE="text" NAME="naglowek" VALUE="<?php echo $naglowek; ?>"
[/php:1:9af7724715]
Omega
21.07.2003, 19:44:00
No nie znam rozgraniczeń na takie poprawnie czy nie poprawnie... :? Może bardziej elegancko, ale przecież i tak działa...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.