Avatar billede techboy992 Praktikant
06. oktober 2012 - 21:12 Der er 4 kommentarer og
1 løsning

Dropdown fra mysql

Snoeft fandt noget men det virker ikke,
Viser bare:
".$folder; } ?> og formen uden der er noget i dropdown

Nogen der kan hjaelpe

Code:
<html>
<body>
<?
$con = mysql_connect("host","database","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("awc24h_links", $con);

$sql="SELECT id, folder FROM users";
$result=mysql_query($sql);

$options="";

while ($row=mysql_fetch_array($result)) {

    $id=$row["id"];
    $folder=$row["folder"];
    $options.="<OPTION VALUE=\"$id\">".$folder;
}
?>

<form action="insert.php" method="post">
<div>
<table border="0">
<tr>
<td></td><td><input type="hidden" value="http://awc24h.com/click" name="link1" /></td></tr>
<tr>
<td>Link part2:</td><td><input type="text" name="link2" /></td></tr>
<tr>
<td>Folder:</td><td><SELECT NAME=folder>
<OPTION VALUE=0>Choose
<?=$options?>
</SELECT></td></tr>
<tr>
<td></td><td><input type="submit" value="Post"/></td></tr>
</form>
</body>
</html>

Viser bare:
".$folder; } ?> og formen uden der er noget i dropdown
Avatar billede olsensweb.dk Ekspert
06. oktober 2012 - 21:21 #1
er du sikker på din webserver understøtter short_open_tag ??
det er default slået fra på nye installationer
ret alle
<? til <?php
<?= til <?php echo
Avatar billede techboy992 Praktikant
06. oktober 2012 - 21:34 #2
Gav samme resultat
Avatar billede olsensweb.dk Ekspert
06. oktober 2012 - 22:07 #3
prøv denne, jeg har omskrevet den lidt så der anvendes mysqli Procedural style som du kender fra det gamle API
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
    <title></title>
<body>
<?php
/*  ***db setting start*** */
$con = mysqli_connect('localhost', 'root', '', 'test'); // host, username, password, db
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysqli_set_charset($con, "utf8");
/*  ***db setting slut*** */

$sql="SELECT id, folder FROM users";
$result=mysqli_query($con, $sql); // læg mærke til der er byttet om på con og sql iforholdt til det gamle API, (eneste forskel jeg har set)

$options="";
while ($row=mysqli_fetch_array($result)) {
    $id=$row["id"];
    $folder=$row["folder"];
    $options.="<option value=\"$id\">".$folder."</option>";
}
?>
<form action="insert.php" method="post">
<table border="0">
<tr>
<td></td><td><input type="hidden" value="http://awc24h.com/click" name="link1" /></td></tr>
<tr>
<td>Link part2:</td><td><input type="text" name="link2" /></td></tr>
<tr>
<td>Folder:</td><td><select name="folder">
<option value=0>Choose</option>
<?php echo $options ?>
</select></td></tr>
<tr>
<td></td><td><input type="submit" value="Post"/></td></tr>
</table>
</form>
</body>
</html>


og så skal du undgå at bruge tabeller til design, det gik man bort fra for ca 12 år siden
tabeller er til tabulære data ikke til design
valider din code, kun sådan kan du sikre dit design og functionalitet virker i diverse browsere
Avatar billede techboy992 Praktikant
06. oktober 2012 - 22:35 #4
:))))))

Fejlen var at min fil var en html fil og ikke php

Lavet den om til PHP og saa virkede det
Avatar billede olebole Juniormester
07. oktober 2012 - 16:07 #5
<ole>

Ja, det var i hvertfald én fejl. Hvis du ikke lytter til ronols, begår du dog en langt større fejl  *o)

Du bør:

*) Gå over til MySQLI eller PDO hurtigere end snart
*) Undlade at bruge tabeller til layoutformål
*) Validere din kode

/mvh
</bole>
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