Witam
Problem pojawiał się już niejednokrotnie, jednak nie mogę sobie poradzić.
Jedno zapytanie jest do bazy, drugi to explode z innej bazy. Niestety jako selected zostaje wybrany tylko pierwszy pasujący wynik, a kolejne nie są już brane pod uwagę.
<?php
require_once ("../include/config.php");
if($_POST['id'] == 0) {
$query = "SELECT * FROM zawody";
if(!$result = $mysqli->query($query)) {
} else {
<form action=\"index.php?param=3&action=edit\" method=\"post\">\n
<select name=\"id\">\n
");
while($row = $result->fetch_assoc()) {
echo ("<option value=\"" .$row['id']. "\">" .$row['nazwa']. "</option>\n"); }
</select>\n
<button type=\"sumbit\">Wybierz!</button>\n
</form>
");
}
} else {
$query = "SELECT * FROM zawody WHERE id='" .$_POST['id']. "'";
if(!$result = $mysqli->query($query)) {
} else {
$row = $result->fetch_assoc();
$id_szkol = explode(";", $row['id_szkol']);
$queryszkoly = "SELECT id, nazwa FROM szkoly";
if(!$resultszkoly = $mysqli->query($queryszkoly)) {
} else {
?>
<form action="takeeditprof.php" method="post">
<input type="hidden" name="nazwa" value="
<?php echo $row['id']; ?>">
<table>
<tr>
<td>Nazwa</td><td><input type="text" name="nazwa" value="
<?php echo $row['nazwa']; ?>"></td>
</tr><tr>
<td>Opis</td><td><textarea name="opis">
<?php echo $row['opis']; ?>"</textarea></td>
</tr><tr>
<td>Id szkol</td>
<td><select name="id_szkol[]" multiple="multiple" size="3">
<?php
foreach($id_szkol as $val) {
while($rowszkoly = $resultszkoly->fetch_assoc()) {
if($val == $rowszkoly['id']) {
echo ("<option selected value=\"" .$rowszkoly['id']. "\">" .$rowszkoly['nazwa']. "</option>\n"); } else {
echo ("<option value=\"" .$rowszkoly['id']. "\">" .$rowszkoly['nazwa']. "</option>\n"); }
}
}
}
}
?>
</select></td>
</tr>
</table>
<button type="sumbit">Dodaj!</button>
</form>
<?php } ?>