Autor Zpráva
rad
Profil *
Dobrý večet
Mám jednoduchý kod který se připojuje k databázi a zobrazuje html formular select
pote co se vybere z první moznosti se zobrazi dalsi select a z toho se dal vybere co se má nakonec zobrazit .
mám problem se select první vzber sice funguje ale kdyz se kouknu do zdrojoveho kódu tak nevidím obsah druhého selectu -
ze kterého dál chci vybýrat
poradí nekdo
díky


    <?php
      $host="localhost";   //local
      $username="root";    //username
      $password="";         //pass 
      $database="base";   //nom database
      $con = mysql_connect($host, $username, $password);   //CONECTION 
      if (!$con)                 //OR DIE
      {
      die('DIE: '.mysql_error());
      }
    mysql_select_db($database,$con);  //selection database =telephone=mysql_connect($host, $username, $password); 
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET NAMES utf8");
     	
      $sql="SELECT * FROM tdchoix;";   //SQL
      $voila=mysql_query($sql,$con);     // SQL +connect
    ?>
    
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
 <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>connectBD</title> 
 </head>
 <body>
 
 
     <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
     <select name="name">
      <?php  
      while($id=MySQL_Fetch_Array($voila)) //SQL +connect
      {                 
      if ($id['id']==$_POST["name"])  
       {$select='selected="selected"';  }
       else { $select=''; }  
       
       echo "<option value=\"".$id['id']."\" ".$select.">".$id['td']."</option>";    
    } 
    ?>

</select>


<input type="submit" name="ok" value="OK">

<?php 
 //requet2//
if (isset($_POST['ok']))
{

$name=$_POST['name'];

$sql2="SELECT * FROM req WHERE id=$name;";  //sql2

$voila2=mysql_query($sql2,$con);

echo '<select name="name2">';

while($conne2=MySQL_Fetch_Array($voila2)) //SQL2 +connect1
{                                
echo "<option value=".$conne2['idnumero'].">".$conne2['question']."</option>";
}

echo '</select> <input type="submit" value="OK" name="ok2">';
}
?> 












<?php 
 //requet2//
if (isset($_POST['ok2']))

{
$name2=$_POST['name2'];

//sql2

mysql_select_db($database2,$con);  
$sql="SELECT * FROM tdchoix;";   //SQL
// SQL +connect

$voila2=mysql_query($sql2,$con);

echo '<select name="name2">';
                             
while($conne2=MySQL_Fetch_Array($voila2)) //SQL2 +connect1

{                                
echo "<option value="."$conne2[id]".">"."$conne2[requet]"."</option>";
}
echo '</select> <input type="submit" value="OK" name="ok2">';
}
?> 

</form>
 </body>
</html>
Dtx
Profil *
A není ten result set, pomocí kterého se vypisuje obsah druhého selectu, prázdný?

Vlož si toto
echo "POCET RADKU: " . mysql_num_rows($voila2);


na řádek 94 tebou poskytnutého kódu (tedy před to echo '<select name="name2">';

Na stránce by se ti pak nemělo vypsat POCET RADKU: 0
rad
Profil *
v tom to neni ale děkuju, mám ještě jeden problém jak zajistit aby při druhém postu zůstal zobrazený druhý select ? protože první select se vypíše jako echo
 if (isset($_POST['ok']))
kdyz volám druhý
 if (isset($_POST['ok2']))
logicky prvni select se uz vypsat nemuze a kod se snazi vypsat jen druhy .
Jak to udelat aby zustal prvni post zobrazeny ?
diky


taky jsem se chtel zeptat kdyz pottebuju dat do promene udaj z databaze, nemuzu prijit na to jak.

priklad :

<?php 
if (isset($_POST['ok2']))
{
$idheight=$_POST['name2'];

$basechoix='SELECT based FROM tdchoix WHERE id=1;';  //choix base test   

$voila4 = mysql_query($basechoix, $con);

$row = mysql_fetch_array($voila4);

//$requet="SELECT requet FROM req WHERE idnumero = $idheight;";
  //sql2
  
 
  $con2 = mysql_connect($host, $username, $password);   //CONECTION 
if (!$con2)                 //OR DIE
{
die('DIE: '.mysql_error());
}
mysql_select_db("$row",$con2);  //selection database =telephone=mysql_connect($host, $username, $password); 
// SQL +connect
$sql3=$requet;
$voila3=mysql_query($sql3,$con2);

echo "<table border='1'>";
while($table=mysql_fetch_array($voila3, MYSQL_ASSOC))   
{
echo "<tr>";   
foreach ($table as $element)   
{
echo "\n<td>".$element."</td>";
}
echo "</tr>";
}
}
echo "</table>";
?> 



diky opravdu by mi nejaka rada pomohla

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: