| Autor | Zpráva | ||
|---|---|---|---|
| ROLAND Profil * |
#1 · Zasláno: 2. 3. 2015, 11:15:21 · Upravil/a: ROLAND
Ahoj,
jsem naprostý začátečník v PHP. Momentátně řeším problém, že mám záznam (řádek), který tahám z MySQL a u něj tlačítko editace. Přes id přenáším hodnoty do formuláře. Ovšem u seznamů se mi v prohlížeči nezobrazí správná položka. Vždycky porovnávám ID_GARANT z jedné tabulky s hodnotou ID_GARANT z druhé tabulky z databáze (resp. dotazu). Ve zdrojáku potom u správné položky selected="selected" mám, ale nezobrazí se to správně. Prosím o jakoukoliv radu. Zde je problémová část kódu: <?php
include ("spojeni.php");
$menu = $_GET['menu'];
$sql = "SELECT id_data, nazevdat, meritko, nahled, ukazkaodkaz, popis, popis2, poskytovani, prispevatel, format, id_garant, historie, souradsystem, id_typ, id_licence, znalost
FROM data
WHERE id_data='$menu'";
$result = mysqli_query($conn, $sql);
echo "<form action='update_data.php?$url&menu=$menu' method='post'>
echo "<label for='id_garant'>Vyber garanta dat:</label><br />
<select name='id_garant' id='id_garant'>";
$sql3 = "SELECT id_garant, nazev FROM garant GROUP BY nazev";
$result3 = mysqli_query($conn, $sql3);
while($row3 = mysqli_fetch_assoc($result3)) {
echo '<option value="'.$row3["id_garant"].'"';
if($row3["id_garant"] == $row["id_garant"]){
echo ' selected="selected"';}
else{
echo ' selected=""';}
echo '>';
echo $row3["nazev"];
echo '</option>';
}
echo "</form>";
mysqli_close($conn);
?> Při kopírování mi tam utekl jeden středník. Ale vím o tom. Problém bude nějkde jinde. |
||
| Taps Profil |
ROLAND:
zápis jsem ti poupravil include ("spojeni.php");
$menu = $_GET['menu'];
$sql = "SELECT id_data, nazevdat, meritko, nahled, ukazkaodkaz, popis, popis2, poskytovani, prispevatel, format, id_garant, historie, souradsystem, id_typ, id_licence, znalost
FROM data
WHERE id_data='$menu'";
$result = mysqli_query($conn, $sql);
$row = mysql_fetch_assoc($result);
echo "<form action='update_data.php?$url&menu=$menu' method='post'>
<label for='id_garant'>Vyber garanta dat:</label><br />
<select name='id_garant' id='id_garant'>";
$sql3 = "SELECT id_garant, nazev FROM garant GROUP BY nazev";
$result3 = mysqli_query($conn, $sql3);
while($row3 = mysqli_fetch_assoc($result3)) {
echo '<option value="'.$row3["id_garant"].'"';
if($row3["id_garant"] == $row["id_garant"]){
echo ' selected="selected"';}
else{
echo ' selected=""';}
echo '>';
echo $row3["nazev"];
echo '</option>';
}
echo "</form>";
mysqli_close($conn);
?> |
||
| mimochodec Profil |
echo '<option value="'.$row3["id_garant"].'"';
if($row3["id_garant"] == $row["id_garant"]) {
echo ' selected="selected"';
}
echo '>'.$row3["nazev"].'</option>';Ten else a selected="" je zbytečný, vyhoď ho. Jestli to nepomůže, dej vygenerovaný kód na http://kod.djpw.cz a ukaž.
|
||
| ROLAND Profil * |
#4 · Zasláno: 2. 3. 2015, 12:14:12
Pomohlo to. Díky moc.
|
||
|
Časová prodleva: 15 dní
|
|||
| ROLAND Profil * |
#5 · Zasláno: 17. 3. 2015, 10:55:45 · Upravil/a: ROLAND
Mám velmi podobný problém. Tentokrát se jedná o checkbox a ne o option. Potřebuju aby se mi zatrhly ty checkboxy, jejichž id jsou napsáno v atributu format z prvního dotazu ($sql) ve formátu například: 1, 2, 5
$menu = $_GET['menu'];
$sql = "SELECT id_data, nazevdat, meritko, nahled, ukazkaodkaz, popis, popis2, poskytovani, prispevatel, format, id_garant, historie, souradsystem, id_typ, id_licence, znalost
FROM data
WHERE id_data='$menu'";
$result = mysqli_query($conn, $sql);
$row = mysql_fetch_assoc($result);
$sql2 = "SELECT id_format, nazev FROM format";
$result2 = mysqli_query($conn, $sql2);
$pole=explode(", ",$row["format"]);
if (mysqli_num_rows($result2) > 0) {
foreach ($pole as $hodnota){
while($row2 = mysqli_fetch_assoc($result2)) {
echo '<input type="checkbox" value="'.$row2["id_format"].'" name="checkbox_formaty[]" id="case'.$row2["id_format"].'"';
if ($hodnota == $row2["id_format"]){
echo " checked='true'";
}
echo " />";
echo "<label for='case".$row2['id_format']."'>".$row2['nazev']."</label>";
}}}v toto hvíli se mi zatrhne pouze první položka |
||
| Keeehi Profil |
while($row2 = mysqli_fetch_assoc($result2)) {
echo "<input type=\"checkbox\" value=\"$row2[id_format]\" name=\"checkbox_formaty[]\" id=\"case$row2[id_format]\"".(in_array($row2["id_format"], $pole) ? ' checked="true"' : '')." /><label for=\"case$row2[id_format]\">$row2[nazev]</label>";
}ROLAND: „id jsou napsáno v atributu format z prvního dotazu ($sql) ve formátu například: 1, 2, 5“ Jde o špatný náverh databáze. Viz Některé časteji řešené dotazy pro MySQL - FAQ » Více hodnot ve sloupci |
||
|
Časová prodleva: 11 let
|
|||
0