Avatar billede ulle55 Nybegynder
01. april 2003 - 15:42 Der er 3 kommentarer og
1 løsning

option og mysql

vordan får jeg lavet en side hvor jeg kan vælge et emne i en option menu, og så få vist alt data der er om emnet???

Jeg har fået lavet en option menu ud fra em mysql db.

  echo "<select size='1' name='brugere' class='felt'>";
                $query = mysql_query("SELECT *  FROM login ") or die(mysql_error());
                while ($data = mysql_fetch_array($query)) {
                echo "<option value='$data[id]'>$data[brugernavn]</option>";}
                echo "</select>";
Avatar billede postndk Nybegynder
01. april 2003 - 15:57 #1
så skal du når du submitter din form lave noget a'la :

<?
if ($_POST[brugere] != "") {
$query = mysql_query("SELECT * FROM tabel WHERE id = '$_POST[id]'");
while ($r = mysql_fetch_array($query)) {
echo "navn : ".$r[navn]; // eller hvad du nu vil have udskrevet //
}
}
?>

er du med ?
Avatar billede repox Seniormester
01. april 2003 - 16:44 #2
man kunne også skrive så'n her...

tabel opbygning (eksempelvis)
id | brugernavn | email | profil

<?php

if (!empty($_POST[brugere])) {

$query = mysql_query("SELECT * FROM dintabel WHERE id='$_POST[brugere]'");
$brugernavn = mysql_result($query, 0, "brugernavn");
$email = mysql_result($query, 0, "email");
$profil = mysql_result($query, 0, "profil");

echo "
Brugernavn: $brugernavn<br>
Email: $email<br>
Profil: $profil<p>
";
}else{
echo 'Der er ikke valgt nogen bruger';
}

?>

Men postndk's ide virker selvfølgelig også godt, omend ikke bedre... :)
Avatar billede babz Nybegynder
01. april 2003 - 23:44 #3
en tredie valgmulighed kunne være at lave en generel funktion der kan genbruges hvor som helst.

Jeg har godt nok brugt Postgresql, men syntaksen ligner til forv.

// rullemenu generer "<option>data"
// input er en relation.

function rullemenu($relation){
  $i = 0;
  $arr = pg_fetch_array ($relation,PGSQL_NUM);
  $max = pg_num_rows($relation);

  while($i<=$max){
    print "<option>".$line[$i][0]."\n";
    }
}

denne funktion kaldes så fra et sted: eksempelvis:

php fil2:

$relation=pg_query($query);
$select_name = pg_field_name($relation,0);

include('rulle_menu.php');
echo "<select  name=\"$select_name\" size=\"1\">";
rullemenu($relation);
echo "</select><br>";
?>


B
Avatar billede babz Nybegynder
02. april 2003 - 14:20 #4
Jeeesuz...
Sikke en omgang møg jeg fik postet der....
Hvad kan man lære af det?

At man skal rydde op i prøvekode der ikke virker, efter man har fået det til at virke....
Ellers risikerer man bare at offentliggøre sine pinlige fejl.

Her kommer koden der virker:

<?php
//rulle_test.php tester funktionen rule, der tager
//en relation og deler den ud i option-tags

include("include/connect.php");
include("include/rulle.php");

    /*query til tabellen i tabel.php */
$result = pg_query ($dbconn, "SELECT name FROM relation");

$res_name=pg_field_name($result,0);

echo"<select name=\"$res_name\">";
rulle($result);
echo "</select>";
            /*closing up*/
pg_close($dbconn);

echo"</body></html>";
?>


Og her kommer rulle så:

<?php
function rulle($res){
 
  if (!$res) {
    echo "An error occured.\n";
    exit;
  }
 
  while ($row = pg_fetch_row($res)) {
    for ($j=0; $j < count($row); $j++) {
      echo "<option> $row[$j]";
    }
    echo "\n";
  }
}
?>

Sorry.

Babz
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