» »

DropDownBox PHP SQL izpis podatkov

DropDownBox PHP SQL izpis podatkov

a-ptuj1 ::

Pozdravljeni.
V SQL bazi sem naredil tabelo s 3. stolpci "ID", "Name" in "Priimek". Nato sem vnesel podatke v več vrstic. Sedaj pa bi jih želel brati s pomočjo spustnega seznama (DropDownBox) iz posamezne vrstice zapisane v SQL. Spodnja koda mi naredi spustni seznam po "Name" (npr. Miha, Eva,..)za vse vnesene vrstice. Ko kliknem na izbrano "option value=rowIDrowName" pa bi rad da mi izpiše še "Priimek" in "ID" vrstice te osebe (npr. Izberem Miha in dobim odgovor Tor 15).

Vem da je napaka v tistem delu kode ki je označena z ***. Prosim za pomoč. Hvala.

<?php
$host="localhost"; 
$uporabnik="up";     
$geslo="*";         
$baza="test";      

 $povezava=mysqli_connect($host, $uporabnik, $geslo);
  if (mysqli_connect_errno())  {
   echo "Povezava na MySQL ni uspela: " . mysqli_connect_error();
   }
mysqli_select_db($povezava,$baza) or die ("ne morem uporabiti Baze"); //povezava na bazo

$sql="SELECT ID,Name,Priimek FROM test_m order by Name";
    echo "<select name=Name value=''>Student Name</option>"; 
foreach ($povezava->query($sql) as $row){
    echo "<option value=$row[ID]>$row[Name]</option>"; //Drop Down Box
    }
    echo "</select>";

*****
foreach ($_POST['Name'] as $odgovor){
    echo $odgovor;                 // izpis izbrane vrednosti (Miha Tor, Eva Java)
}
******

mysqli_close($povezava);
 ?> 
  • spremenilo: a-ptuj1 ()

s1l3 ::

Če sem te prav razumel lahko poskusiš s spodnjo kodo. Dodal sem array kjer je ključ ID uporabnika. Ta isti ID ti pošilješ s POST. Tako da je spodaj IF, ki preveri, če je kakšna vrednost v $_POST['Name'] in izpiše uporabnika v arrayu s tem ključem.

Predvidevam, da bi moralo delati, poskusil nisem.

<?php
$host="localhost"; 
$uporabnik="up";     
$geslo="*";         
$baza="test";      
 
$povezava=mysqli_connect($host, $uporabnik, $geslo);

if (mysqli_connect_errno())  {
	echo "Povezava na MySQL ni uspela: " . mysqli_connect_error();
}

mysqli_select_db($povezava,$baza) or die ("ne morem uporabiti Baze"); //povezava na bazo

// array za uporabnike 
$uporabniki = array();

$sql = "SELECT ID,Name,Priimek FROM test_m order by Name";

echo "<select name=Name value=''>Student Name</option>"; 

	foreach ($povezava->query($sql) as $row) {
		// Dodaj zapis uporabnika v array (ID: IME PRIIMEK) 
		$uporabniki[$row["ID"]] = $row['ID'].': '.$row['Name'].' '.$row['Priimek'];
		// Izpiši option
		echo "<option value=$row[ID]>$row[Name]</option>"; //Drop Down Box
	}
	
echo "</select>";
 
if (!empty($_POST['Name'])) {
 	echo $uporabniki[$_POST['Name']]
} 

 
mysqli_close($povezava);
 ?> 

a-ptuj1 ::

Hvala za pomoč. Se pravi dodati je bilo potrebno v array. Sedaj tudi ta spodnja koda dela. Hvala še enkrat.

<?php
$host="localhost"; 
$uporabnik="up";     
$geslo="*";         
$baza="test";      

 $povezava=mysqli_connect($host, $uporabnik, $geslo);
  if (mysqli_connect_errno())  {
   echo "Povezava na MySQL ni uspela: " . mysqli_connect_error();
   }
mysqli_select_db($povezava,$baza) or die ("ne morem uporabiti Baze"); //povezava na bazo
// najde podatke v bazi za izpis spustnega seznama
$sql="SELECT ID,Name,Description FROM test_m order by Name";
    echo "<form action='#' method = 'post'>";
    echo "<select name=Name value=''>Student Name</option>"; 
foreach ($povezava->query($sql) as $row){
    echo "<option value=$row[ID]>$row[Name]</option>"; //Drop Down Box izpise
    }
    echo "</select>";
    echo "<input type = 'submit' value = 'Izpisi'/ >" ;// gumb
    echo "</form>";
    
if ($_POST['Name']){
     $a = $_POST['Name'];
          }
//s klikom na gum "Izpisi" najde ostale podatke v bazi in jih izpise glede na ID 
$sql_baza = "SELECT * FROM test_m WHERE ID = $a " ;

if ($result=mysqli_query($povezava,$sql_baza))
  {
   while ($row=mysqli_fetch_array($result))
   {
    printf ("%s) \n",$row["ID"],$row[1]);
    printf ("%s  \n",$row["Name"],$row[1]);
    printf ("- %s \n <br>",$row["Description"],$row[1]);
    }  
}

mysqli_close($povezava);
 ?> 

Zgodovina sprememb…

  • spremenilo: a-ptuj1 ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

EXCEL - izbira iz spustnega seznama

Oddelek: Programska oprema
82890 (2170) prtenjam
»

Excel (preverjanje veljavnosti podatkov, funkcije)

Oddelek: Programska oprema
81078 (1042) Rio20
»

Neznana pisava v sistemu? Pomoč!

Oddelek: Pomoč in nasveti
6837 (726) iggy
»

[Access 2007]

Oddelek: Programiranje
132673 (2273) urosz
»

Excel - pogojno kopiranje

Oddelek: Programska oprema
72754 (2669) darkolord

Več podobnih tem