Avatar billede -kenner- Nybegynder
26. maj 2005 - 10:16 Der er 2 kommentarer og
1 løsning

Ved SELECT, skal MySQL udskrive data, hvor id = OPTIONs værdi

Hej eksperter,

Jeg har denne kode, som skal uskrive data, hvor den options værdi skal blive til $id, og så skal mysql så udskrive det på siden.

Men jeg ved ikke lige hvordan jeg skal organisere det med Onchange i min select.

Når siden åbnes, så skal den sidst tilføjede vises.

Kode:

<HTML>

    <HEAD>
    <TITLE> Kenner's Profil - Hilsner</TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link href="indexSheet.css" rel="stylesheet" type="text/css">
</HEAD>

    <BODY>
    <script type="text/javascript">
<!--
window.onerror = null;
if (window == top) top.location.href = 'http://www.kenner.arto.dk';
// -->
</script>

<table Style="width:100%;" class="indhold" border="0">
    <tr><td class="overskrift">Hilsner</td><td align="right"><?php include("funktioner.php"); db(); counter(Hilsen); ?></td></tr>
    <tr>
                <td>
<?php
//Laver forespørgsel i tabellen
$hilsner = mysql_query ("SELECT * FROM venner ORDER BY id DESC") or die (mysql_error());

//Udskriver venneliste i tabel
print "<select name=\"hilsen\">";

while ($row = mysql_fetch_array($hilsner))
{
//Tjekker om Arto id er tom eller 0
if ($row["tjek"] == "x"){
    echo "<option value=\".$row["id"].\">.$row["navn"].</option>";
    }
}

print "</select>";
$id = //Den værdi der er blevet sendt fra min SELECT;
$vis_hilsen = mysql_query ("SELECT * FROM hilsner WHERE id =$id") or die (mysql_error());
$row = mysql_fetch_array($vis_hilsen);
?>
<table border="0">
<tr><td>Navn: <?php echo $row["navn"]; ?></td></tr>
<tr><td><?php echo $row["hilsen"]; ?></td></tr>
</table>
<center>Kunne du tænke dig at skrive en hilsen, så skriv til Kenneth</center>

    </td>
            </tr>
</table>


    </BODY>

</HTML>
Avatar billede angam Nybegynder
26. maj 2005 - 17:12 #1
[...]
//Udskriver venneliste i tabel
print '<form name="f" method="get" action="">';
print "<select name=\"hilsen\" onChange=\"document.f.submit();\"">";

while ($row = mysql_fetch_array($hilsner))
{
    //Tjekker om Arto id er tom eller 0
    if ($row["tjek"] == "x"){
        echo "<option value=\".$row["id"].\">.$row["navn"].</option>";
    }
}

print "</select>";
print '</form>';

$id = isset($_GET['id']) ? $_GET['id'] : 0;
if($id) {
    $vis_hilsen = mysql_query ("SELECT * FROM hilsner WHERE id =$id") or die (mysql_error());
    $row = mysql_fetch_array($vis_hilsen);
    ?>
    <table border="0">
    <tr><td>Navn: <?php echo $row["navn"]; ?></td></tr>
    <tr><td><?php echo $row["hilsen"]; ?></td></tr>
    </table>
<? } ?>
<center>Kunne du tænke dig at skrive en hilsen, så skriv til Kenneth</center>
[...]

onChange() eventen submitter formen f som du bemærker at jeg har lagt omkring select-tagget. Hvis du allerede har en form, kan (skal) du naturligvis benytte denne.

herefter tester vi om $id er sat, og hvis så, udskriver vi brugerinfo.
Avatar billede -kenner- Nybegynder
26. maj 2005 - 17:22 #2
Jeg fandt svar af anden vej, men du får point, for at have brugt tid på det ;)

Min løsning:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<select name="hilsen-skrevet" onchange="java script:submit();">
<option value="">Vælg en hilsen</option>
<?php
while ($row = mysql_fetch_array($hilsner))
{
//Tjekker om hilsnen er godkendt
if ($row["tjek"] == "x"){
    echo "<option value=\"".$row["id"]."\">".$row["navn"]."</option>";
}
}
print "</select><br><br>";
if(isset($_POST['hilsen-skrevet']))
{
$id = $_POST['hilsen-skrevet'];
Avatar billede angam Nybegynder
26. maj 2005 - 17:23 #3
det var så lidt :-)
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