dilluns, 3 de febrer del 2014

Connectar-se a una bd MySQL. Funció mysql_query (2)



Per recuperar valors d'una base de dades usarem la funció mysql_query 

mysql_query (consulta, identificador): aquesta funció envia una consulta a MySQL
•Consulta: la query que volen enviar
•Identificador: paràmetre opcional
•Retorna valors diferents segons la sentència:
•INSERT, UPDATE, DELETE, DROP: true o false
•SELECT : retorna les files o false si ha anat malament. 


Per exemple: 
$registros=mysql_query("select codi,nom, mail, codicurs from alumnes",$conexion) or die("Problemes en el select:".mysql_error());

select : la sentència SQL que ens permet recuperar les dades de la taula

Un cop hem fet el select, la funció myysql_fetch_array ens permet recòrrer els diferents valors que ens torna el select
Per exemple:



while ($reg=mysql_fetch_array($registros)) { echo "Codigo:".$reg['codi']."<br>";
echo "Nom:".$reg['nom']."<br>";
echo "Mail:".$reg['mail']."<br>";
echo "Curs:"; $reg['codicurs'])

 
En el següent exemple, a partir del correu d'un alumne, buscarem les seves dades. En la primera pàgina tenim un formulari on entrem el mail de l'alumne.



<html> <head> <title>Problema</title> </head>
 <body>
                <form action=“resultat.php" method="post">
                 Ingresa el mail de l’ alumne a consultar: <input type="text" name="mail"> 
               <br> 
                <input type="submit" value=“cercar">
               </form>
</body>
 </html>


En la segona pàgina a partir del mail farem una consulta sql per recuperar les dades de l'alumne.



$registros=mysql_query("select codi,nom, codicurs from alumnes where mail='$_REQUEST[mail]'",$conexion)
or die("Problemes en el select:".mysql_error());
 

Ara recupererem els valors d'una taula per mostrar-los en un select:


<select name="curs">


while ($reg=mysql_fetch_array($registros)) {
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>";
</select>

És a dir, un camp normal select seria de la següent manera

Seleccioni el curs: <select name="codicurs">
<option value="1">1 SMX</option>
<option value="2">2 SMX</option>
<option value="3">1 ASIX</option>
<option value=“4">3 ASI</option>

</select> <br>
 
Aleshores substituïm la part dels options pels valors recuperats de la taula :( en vermell)

while ($reg=mysql_fetch_array($registros)) {
echo "<option value=\"$reg[codigo]\">$reg[nombrecur]</option>"; }
  
A continuació veiem l'exemple complert:



<html> <head>
<title>Exercici d’exemple: registreAlumne.php</title>
</head>
 
<body> <h1>Alta d' Alumnes</h1>
<form action="altaalumne.php" method="post">
Nom: <input type="text" name="nom"> <br>
Cognom: <input type="text" name="cognom"> <br>
Mail: <input type="text" name="mail"><br>
Seleccioni el curs: <select name="codicurs">
<?php
$conexion=mysql_connect("localhost","root","");
mysql_select_db("Academia",$conexion) or
die("Problemes en la selecció de la base de dades");
$registros=mysql_query("select codigo, nombrecur from cursos",$conexion) or die("Problemes en el select:".mysql_error()); 

    while ($reg=mysql_fetch_array($registros)) {
    echo "<option value=\"$reg[codigo]\">$reg[nombrecur]      </option>"; } mysql_close($conexion);
?> 

</select> 
<br>
<input type="submit" value="Registrar">
</form> 
 
</body>
</html>


A partir de la versió PHP 5.5.0 cal usar la funció mysqli_query()






Cap comentari:

Publica un comentari a l'entrada