PHP Center
http://phpcenter.eu/
Foorumi teema printimine


Foorumid Programmeerimine PHP & MySQL MYSQL'ist andmete kuvamine
Autor Postitus
hanska

Postitusi: 16
Tase: 2
Olek: Offline

05.09.2005 10:31:42
MYSQL'ist andmete kuvamine

Olen PHP's üsnagi algaja, ei tea mis siin valesti on ja juhe jooksis kokku ära.
Probleem siis selles, et ei saa kuidagi hakkama php koodiga. On olemas kaks faili : form.php ja n2ita.php. form.php sisaldab checkboxidega vormi, mis genereerib checkboxid andmebaasist saadud andmetest

PHP kood:

$db mysql_connect($hostname,$username,$password);  
mysql_select_db($database,$db); 

echo 
'<form action="n2ita.php" method="post">';

//This is the query to display the post
$query mysql_query("SELECT id, name FROM posts");

//This is the loop to display all the posts instead of just one
while($row mysql_fetch_array($query)) {
$id $row['id'];
$name $row['name'];

//Now echo the post with a checkbox
echo '<input type="checkbox" name="post[]" value="'.$id.'"> '.$name.'<br>';

}
echo 
'<input type="submit" value="Show Posts">
</form>'
;


Näiteks kui on andmebaasis sellised andmed

id | name | post
-------------------
1 | nimi1  | tekst1
2 | nimi2  | tekst2
3 | nimi3  | tekst3
...
siis ta kuvab need checkboxides, ja kui valin sealt 1 & 2, siis ta järgneval lehel kuvab nende postitused

Fail n2ita.php on sellisel kujul :

PHP kood:

$db mysql_connect($hostname,$username,$password);  
mysql_select_db($database,$db); 


echo 
'<table border="0" align=center width="80%" class=text_b>';
echo 
'<tr bgcolor="F0F8FF">';
echo 
'<td><p align="center"><small><font face="Verdana">id</font></small></td>';
echo 
'<td><p align="center"><small><font face="Verdana">nimi</font></small></td>';
echo 
'<td><p align="center"><small><font face="Verdana">post</font></small></td>';

//For every box ticked we get the value of it and set it as $postid
foreach ($_POST['post'] as $key => $postid) {

//Now we apply a delete query for that post
$query "SELECT * FROM posts WHERE id='$postid_1' OR id='$postid_2' OR id='$postid_3'";


}

$result mysql_query($query$db);
if(
mysql_num_rows($result)) {
  while(
$row mysql_fetch_row($result)) 
  {
   print(
"</tr><tr>");
   print (
"<td><center><small>");
   print (
"<font face=\"Verdana\">$row[0]</font></small></center></td>");
   print (
"<td><center><small>");
   print (
"<font face=\"Verdana\">$row[1]</font></small></center></td>");
   print (
"<td><center><small>");
   print (
"<font face=\"Verdana\">$row[2]</font></small></center></td></tr>");
  }
}

echo 
'</table>';



Ühesõnaga oleks vaja, saada siia MYSQL päringusse need väärtused, mis eelmisest failist said valitud : $postid_1, $postid_2, $postid_3

Kui kirjutan sinna käsitsi väärtused 1, 2 või 3 siis toimib ilusti, aga kuidas saaks nii, et ta võtab need väärtused eelmiselt lehelt, kus ma valisin need postitused, mida ma näha tahan.

Oeh sai vist segane jutt, loodan et minu probleem oli arusaadav.

sips

Postitusi: 370
Tase: 6
Olek: Offline

05.09.2005 11:44:54
RE: MYSQL'ist andmete kuvamine

PHP kood:

<?php
if (count ($_POST['post']))
{
    
$ids join (', '$_POST['post']);
    
$query 'SELECT * FROM posts WHERE id IN (' $ids ')';

    ...
}
?>



hanska

Postitusi: 16
Tase: 2
Olek: Offline

05.09.2005 11:51:52
RE: MYSQL'ist andmete kuvamine

Suurimad tänud sips, töötab ideaalselt.