Avatar billede el_morten Nybegynder
06. december 2003 - 12:08 Der er 7 kommentarer og
1 løsning

Dropdownbox der lister ting fra MYSQL

Hej
Jeg har lavet en dropdownbox, der skal hente data ind fra databasen, det den skal hente ind har fået en værdi ($value) fra forrige side (hvor der var en ganske alm. html kodet dropdownbox). Mit problem er bare at der kommer en fejlmeddelelse der hedder:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ... line 16

Koden
-----------------------------------------

<?
include_once ("db_connect.php");

$query = "SELECT * FROM subsites WHERE subsitesid=$value";
    $db = new database('mysql');
    $result_subsites=$db->query($query,"rows");

//$result_mainsites = mysql_query("SELECT * FROM mainsites ORDER BY mainsitesname");

while ($row_mainsite = mysql_fetch_array($result_subsites, MYSQL_ASSOC)) {
  $print_subsite_list .= "<option value=\"" . $row_subsite["mainsitesid"] . "\">" . $row_subsite["subsitesname"] . "</option>\n";
}
/*If ($value=1)
{$listbox=;
}*/
?>
<html>
<head>
        <title>Title here!</title>
<form method=get action="ret3.php">
<select name="subsites" style="width:150">
<option value="0">Vælg side</option>
<?= $print_subsite_list ?>
</select>
</body>
</html>


Hvad er der galt?
Avatar billede fangel Nybegynder
06. december 2003 - 12:16 #1
dit query laver fejl... drop database klassen og prøv

while ($row_mainsite = mysql_fetch_array($result_subsites, MYSQL_ASSOC)) {
  $print_subsite_list .= "<option value=\"" . $row_subsite["mainsitesid"] . "\">" . $row_subsite["subsitesname"] . "</option>\n";

du sætter $row_mainsite - men udskriver fra $row_subsite...

ikke så gennemtænkt ;)

desuden tyder det på at der er en fejl i mysql-kaldet...

prøv at gå uden om klassen og brug

$query = "SELECT * FROM subsites WHERE subsitesid=$value";
$result_subsites = mysql_query($query)or die(mysql_error());

så for du MySQLs fejl meddelese hvis den fejler

Morten
Avatar billede el_morten Nybegynder
06. december 2003 - 12:35 #2
Hmm ja, MySQLs fejl meddelelse:
You have an error in your SQL syntax near '' at line 1
... hvad betyder det så?
Avatar billede fangel Nybegynder
06. december 2003 - 12:54 #3
kunne være at fx $value indeholder en '... eller en "... ;)

Morten
Avatar billede el_morten Nybegynder
06. december 2003 - 13:03 #4
okay, tak... Men nu satte jeg så '$value' i stedet for $value. Nu kommer der ikke nogen fejlmeddelelser, men der er heller ikke listed noget i dropdownboxen andet end "vælg side"... ?
Avatar billede fangel Nybegynder
06. december 2003 - 13:32 #5
prøv lige

$print_subsite_list = '';
while ($row_mainsite = mysql_fetch_array($result_subsites)) {
  $print_subsite_list .= "<option value=\"" . $row_mainsite["mainsitesid"] . "\">" . $row_mainsite["subsitesname"] . "</option>\n";
}

istedet - det kan være fordi den ikke kan finde ud af at lægge noget variablen når den ikke findes...

Morten
Avatar billede el_morten Nybegynder
08. december 2003 - 00:28 #6
Okay... nu virker det :) Takker.
Smid et svar..
(har lavet lidt om på resten)
<?php

include_once("common_db.php");

$result_mainsites = mysql_query("SELECT mainsitesname, mainsitesid FROM mainsites");

while ($row_mainsite = mysql_fetch_array($result_mainsites, MYSQL_ASSOC)) {
  $print_mainsite_list .= "<option value=\"" . $row_mainsite["mainsitesid"] . "\">" . $row_mainsite["mainsitesname"] . "</option>\n";
}
?>

<html>
<head>

</head>

<body>
<form action="select_subsite.php" method="post">

<select name="list_amt" style="width:150">
<option value="0">Vælg side</option>
<?= $print_mainsite_list ?>
</select>

<input type="submit" name="Submit" value="Vælg underside">

</form>
</body>
</html>
Avatar billede fangel Nybegynder
08. december 2003 - 16:05 #7
svaa'r

Morten
Avatar billede el_morten Nybegynder
08. december 2003 - 16:52 #8
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester