/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Select og Mysql
Fra : Nederbasse


Dato : 24-10-08 07:57

Hejsa

Jeg har et problem med at få fyldt nogle select med data fra en Mysql db

På siden skal man kunne redigere tidligere indtastet data som fx. 3 fag
Den første option skal være den værdi der allerede er i databasen og resten
af options skal fyldes fra en anden tabel

Tabeller:
studretproj - alle indtastede data
fag - alle fag, bruges til at fylde flere select boxe

Problemet er at mine select boxe bliver fyldt men med data fra studretproj
tabellen flere gange og blandet med fag tabellen

Kode:

<?php
session_start();
include 'Åbner databasen';
$studretproj_id = $_REQUEST["studretproj_id"];
echo "$studretproj_id <br>";
$result = mysql_query("SELECT * FROM studretproj WHERE studretproj_id
='$studretproj_id'");
if(!$result) die("MySQL-fejl: ".mysql_error() );
if (mysql_num_rows($result)) {
while ($row = mysql_fetch_array($result)) {
?>


Projekt id: <?php echo $row["studretproj_id"]; ?>
<!-- FAG 1 STARTER HER -->
Fag:, <select size="1" name="fag1">
<?php
$fag_result = mysql_query("SELECT * FROM fag ORDER BY fag") or
die(mysql_error());
while ($fag1row = mysql_fetch_array($fag_result)) {
?>
<option value="<?php echo $row['fag1'] ?>"><?php echo $row['fag1']
?></option>
<option value="<?php echo $fag1row['fag'] ?>"><?php echo $fag1row['fag']
?></option>
<?php
}
?>
</select>

<!-- FAG 2 STARTER HER -->

Fag: <select size="1" name="fag2">
<?php
$fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
while ($fag2row = mysql_fetch_array($fag_result)) {
?>
<option value="<?php echo $row['fag2'] ?>"><?php echo $row['fag2']
?></option>
<option value="<?php echo $fag2row['fag'] ?>"><?php echo $fag2row['fag']
?></option>
<?php
}
?>
</select>

<!-- FAG 3 STARTER HER -->
Fag: <select size="1" name="fag3">
<?php
$fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
while ($fag3row = mysql_fetch_array($fag_result)) {
?>
<option value="<?php echo $row['fag3'] ?>"><?php echo $row['fag3']
?></option>
<option value="<?php echo $fag3row['fag'] ?>"><?php echo $fag3row['fag']
?></option>
<?php
}
?>
</select>
<?php
}
mysql_close($conn);
}
?>

Jeg ved det er noget rode kode men...

Lars








 
 
Gert Krabsen (24-10-2008)
Kommentar
Fra : Gert Krabsen


Dato : 24-10-08 09:14

Nederbasse skrev:
> Hejsa
>
> Jeg har et problem med at få fyldt nogle select med data fra en Mysql db
>
> På siden skal man kunne redigere tidligere indtastet data som fx. 3 fag
> Den første option skal være den værdi der allerede er i databasen og resten
> af options skal fyldes fra en anden tabel
>
> Tabeller:
> studretproj - alle indtastede data
> fag - alle fag, bruges til at fylde flere select boxe
>
> Problemet er at mine select boxe bliver fyldt men med data fra studretproj
> tabellen flere gange og blandet med fag tabellen
>
> Kode:
>
> <?php
> session_start();
> include 'Åbner databasen';
> $studretproj_id = $_REQUEST["studretproj_id"];
> echo "$studretproj_id <br>";
> $result = mysql_query("SELECT * FROM studretproj WHERE studretproj_id
> ='$studretproj_id'");
> if(!$result) die("MySQL-fejl: ".mysql_error() );
> if (mysql_num_rows($result)) {
> while ($row = mysql_fetch_array($result)) {
> ?>
>
>
> Projekt id: <?php echo $row["studretproj_id"]; ?>
> <!-- FAG 1 STARTER HER -->
> Fag:, <select size="1" name="fag1">
> <?php
> $fag_result = mysql_query("SELECT * FROM fag ORDER BY fag") or
> die(mysql_error());
> while ($fag1row = mysql_fetch_array($fag_result)) {
> ?>
> <option value="<?php echo $row['fag1'] ?>"><?php echo $row['fag1']
> ?></option>
> <option value="<?php echo $fag1row['fag'] ?>"><?php echo $fag1row['fag']
> ?></option>
> <?php
> }
> ?>
> </select>
>
> <!-- FAG 2 STARTER HER -->
>
> Fag: <select size="1" name="fag2">
> <?php
> $fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
> while ($fag2row = mysql_fetch_array($fag_result)) {
> ?>
> <option value="<?php echo $row['fag2'] ?>"><?php echo $row['fag2']
> ?></option>
> <option value="<?php echo $fag2row['fag'] ?>"><?php echo $fag2row['fag']
> ?></option>
> <?php
> }
> ?>
> </select>
>
> <!-- FAG 3 STARTER HER -->
> Fag: <select size="1" name="fag3">
> <?php
> $fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
> while ($fag3row = mysql_fetch_array($fag_result)) {
> ?>
> <option value="<?php echo $row['fag3'] ?>"><?php echo $row['fag3']
> ?></option>
> <option value="<?php echo $fag3row['fag'] ?>"><?php echo $fag3row['fag']
> ?></option>
> <?php
> }
> ?>
> </select>
> <?php
> }
> mysql_close($conn);
> }
> ?>
>
> Jeg ved det er noget rode kode men...

Det er i al fald så rodet, at det ikke er til at se, hvad du egentlig
vil ;-(


At man i dine <select option> kan vælge mellem værdier fra to
forskellige datasæt ($row['fag3'] hhv. $fag3row['fag']) giver ikke
lige mening for mig???

Derudover har vi også brug for at kende din datastruktur for at kunne
gennemskue det..



Nederbasse (27-10-2008)
Kommentar
Fra : Nederbasse


Dato : 27-10-08 09:07

Ok jeg prøver lige igen

På sitet er der nogle dropdown boxe som fylde fra en tabel: fag
Dette er lavet for kun at skulle opdatere disse dropdowns et sted.

Der er en side hvor brugeren kan indsætte data i en tabel: studretproj på
denne side er der 3 dropdown boxe med fag1, fag2 og fag3 og i tabellen er
der også 3 rækker: fag1, fag2 og fag3.

Så er der en side hvor brugeren kan redigerer data i tabellen studretproj og
på denne side er der også de 3 dropdown boxe med fag1, fag2 og fag3

Den første option i dropdown boxen skal være den værdi der allerede er i
studretproj tabellen i rækkerne fag1, fag2 og fag3, den værdi brugeren satte
ind først.
Resten af options i dropdown boxen skal igen fyldes fra tabellen fag ifald
der skal skiftes et fag.

Problemet er at fag1, fag2 og fag3 fra tabellen studretproj åbenbart looper
i alle 3 dropdowns flere gange

>> Kode:
>>
>> <?php
>> session_start();
>> include 'Åbner databasen';
>> $studretproj_id = $_REQUEST["studretproj_id"];
>> echo "$studretproj_id <br>";
>> $result = mysql_query("SELECT * FROM studretproj WHERE studretproj_id
>> ='$studretproj_id'");
>> if(!$result) die("MySQL-fejl: ".mysql_error() );
>> if (mysql_num_rows($result)) {
>> while ($row = mysql_fetch_array($result)) {
>> ?>
>>
>>
>> Projekt id: <?php echo $row["studretproj_id"]; ?>
>> <!-- FAG 1 STARTER HER -->
>> Fag:, <select size="1" name="fag1">
>> <?php
>> $fag_result = mysql_query("SELECT * FROM fag ORDER BY fag") or
>> die(mysql_error());
>> while ($fag1row = mysql_fetch_array($fag_result)) {
>> ?>
>> <option value="<?php echo $row['fag1'] ?>"><?php echo $row['fag1']
>> ?></option>
>> <option value="<?php echo $fag1row['fag'] ?>"><?php echo
>> $fag1row['fag'] ?></option>
>> <?php
>> }
>> ?>
>> </select>
>>
>> <!-- FAG 2 STARTER HER -->
>>
>> Fag: <select size="1" name="fag2">
>> <?php
>> $fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
>> while ($fag2row = mysql_fetch_array($fag_result)) {
>> ?>
>> <option value="<?php echo $row['fag2'] ?>"><?php echo $row['fag2']
>> ?></option>
>> <option value="<?php echo $fag2row['fag'] ?>"><?php echo
>> $fag2row['fag'] ?></option>
>> <?php
>> }
>> ?>
>> </select>
>>
>> <!-- FAG 3 STARTER HER -->
>> Fag: <select size="1" name="fag3">
>> <?php
>> $fag_result = mysql_query("SELECT * FROM fag ") or die(mysql_error());
>> while ($fag3row = mysql_fetch_array($fag_result)) {
>> ?>
>> <option value="<?php echo $row['fag3'] ?>"><?php echo $row['fag3']
>> ?></option>
>> <option value="<?php echo $fag3row['fag'] ?>"><?php echo
>> $fag3row['fag'] ?></option>
>> <?php
>> }
>> ?>
>> </select>
>> <?php
>> }
>> mysql_close($conn);
>> }
>> ?>
>>
>>


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste