Select in MySQL dupa date din formular

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Liaf
Mesaje:36

Select in MySQL dupa date din formular

Am incercat sa personalizez eu dar am o precizare de facut.
Baza de date este inca goala (tabelul ma refer).
Am adaugat pe langa php-urile de mai sus si cauta.php si afiseaza.php (alte 2 noi php-uri). Primul dintre ele cere un steam id si al doilea ar trebui sa afiseze daca se afla in baza de date Steam_ID si asociatele Steam_ADD, Email, Server, Fapta.

Acum primul php (cauta.php) cred ca mi-a reusit si arata asa:

Cod: Selectaţi tot

<center>
<form method="POST" action="afiseaza.php">
 Adminul cautat: <input type="text" Steam_ID="steamid"><br>
 <input type="submit" value="Trimite">
</center>
Al doilea php (afiseaza.php) nu stiu de ce nu am reusit sa il fac ok sau ce am gresit.

Cod: Selectaţi tot

<center>
<?php
 include "conectare.php"; 

 $steamid=$_POST['steamid']; 

 $sql=mysql_query("SELECT * FROM Admini WHERE Steam_ID='$steamid'"); 

 echo "<table border=1>";
 echo "<tr><td>Steam_ID</td><td>Steam_ADD</td><td>Email</td><td>Server</td><td>Fapta</td></tr>";
 while ($row=mysql_fetch_row($sql)) {
 echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td></tr>";
 }
 echo "</table>"; 

 mysql_close($conexiune);
 ?>
</center>
Ideea este ca atunci cand introduc in cauta.php un steam id imi arata pe afiseaza.php asa:

Cod: Selectaţi tot

Warning: mysql_close() expects parameter 1 to be resource, null given in /home/romixers/public_html/ro-mixers.eu/adminsdatabase/afiseaza.php on line 16
Deasupra acestei erori imi arata un tabel in genul:
|Steam_ID|Steam_ADD|Email|Server|Fapta|
Am spus ca baza de date este goala. Atunci cand am sa adaug valori imi va arata conform php-ului argumentul gasit pentru steam-id-ul introdus asociat cu steam add, email, server si fapta gasite in baza de date?

MarPlo Mesaje:4343
Casuta pentru Steam_ID din formular e gresita. In loc de Steam_ID="steamid" ar trebui: name="steamid" .
La SELECT, daca vrei sa selectezi si sa afisezi mai multe randuri din tabelul MySQL, datele returnate de la server ar trebui parcurse cu o instructiune while() .
La pagina asta: Utilizarea bazelor de date folosind PHP (2) , la capitolul " 2. Prelucrarea rezultatelor interogarilor SELECT " gasesti mai multe exemple despre SELECT in tabel MySQL.
Poti sa renunti la mysql_close() , nu este important in script-uri mici, oricum conexiunea la MySQL se inchide automat dupa ce scriptul isi termina executia.

evident Mesaje:168
Daca ai putea sa zici cam ce vrei u sa iti afiseze din baza de date, sau ce vrei sa faca acest script sigur s-ar gasi cineva sa te ajunte.
Stima

Liaf Mesaje:36
Pai as dori ca in pagina site.ro/cauta.php sa se introduca un steam_id (steam-id-urile arata in genul STEAM:0:1_123456)
Sa se apese apoi butonul trimite si sa fii redirectionat pe pagina site.ro/afiseaza.php care sa arate:
1. Daca exista acel steam_id in baza de date sa arate urmatoarele valori care au fost introduse in prealabil pentru el in baza de date: Steam add , email, server, fapta.
2. Daca nu exista acel steam_id in baza de date sa arata un mesaj de genul acest steam id nu este in baza de date.

Cam asta ar fi tot ceea ce vreu, nu vreau sa ma complic, sa stau sa invat si sa iau la rasfoiala toate aceste tutoriale pentru ca fiind la inceput oricum nu le voi intelege fara ajutorul persoanelor mai experimentate si de asemenea nu am nici timpul necesar pentru a studia fiecare tutorial in parte, pentru a retine ce face o comanda sau alta ...

Nu imi trebuie decat 2 scripturi php care nu cred ca sunt asa de greu de realizat de catre cineva care stie php decat daca nu vrei sa ajuti, pentru ca nimeni nu s-a nascut invatat, doar ca unii au mai putin timp liber, altii mai mult si unora le trebuiesc lucrurile astea altora le trebuiesc mai putin sau chiar deloc.

MarPlo Mesaje:4343
Fornular-ul ar fi asa:

Cod: Selectaţi tot

<form method="POST" action="afiseaza.php">
Adminul cautat: <input type="text" name="steamid"><br>
<input type="submit" value="Trimite">
</form>
Iar codul PHP din "afiseaza.php" asa:

Cod: Selectaţi tot

<?php
if(isset($_POST['steamid'])){
  include('conectare.php'); 

  $steamid=$_POST['steamid']; 
  $sql = mysql_query("SELECT * FROM Admini WHERE Steam_ID='$steamid'");

  // Daca sunt returnate randuri de tabel
  if(mysql_num_rows($sql) > 0) {
    $tabel_html = '<table border="1"><tr><td>Steam_ID</td><td>Steam_ADD</td><td>Email</td><td>Server</td><td>Fapta</td></tr>';

    while($row=mysql_fetch_row($sql)) {
      $tabel_html .= '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td><td>'.$row[2].'</td><td>'.$row[3].'</td><td>'.$row[4].'</td><td>'.$row[5].'</td></tr>';
    }

    $tabel_html .= '</table>';
  }
  else echo '0 randuri din MySQL';

  echo $tabel_html;
}
else echo 'Nu e streamid de la formular';
?>
Iar in "conectare.php":

Cod: Selectaţi tot

<?php
$conn = mysql_connect("localhost", "root", "parola") or exit("Unable to connect to MySQL");
$selectdb = mysql_select_db('baza_de_date');
if (!$selectdb)  echo "Baza de date nu a putut fi selectata: ". mysql_error();
?>
- Problema, dupa codul dat de tine, ai initial 5 coloane in tabelul HTML, dar vrei sa adaugi 6 coloane din tabelul MySQL (de la 0 la 5).

Subiecte similare