Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2009, 12:57
kike278
 
Fecha de Ingreso: abril-2008
Mensajes: 62
Antigüedad: 18 años, 4 meses
Puntos: 1
De acuerdo Consulta Personalizada PHP MYSQL

Hola Saludos a Todos.
Les comento necesito realizar una consulta en donde el usuario pueda seleccionar que campos de la db quiere como resultado en su consulta.

Este es el codigo que utilizo para construir el formulario

[PHP

]<?php
$link = mysql_connect('localhost', 'xx', 'xx);
if (!$link) {
die('Could not connect to MySQL server: ' . mysql_error());
}

$dbname = 'xxx';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
die('Could not set $dbname: ' . mysql_error());
}

$query = "select * from candidatos ";
$res = mysql_query ($query);
$numfields = mysql_num_fields ($res);

for ($i=0; $i < $numfields; $i++) {
?><input name="<?=mysql_fieldname($res,$i) ?>" type="checkbox" value="<?=mysql_fieldname($res,$i) ?>"><?=mysql_fieldname($res,$i) ?></input><br/><?php
}
?>
<input type="submit" value="Aceptar" />
</form>
</body>
</html>
[/PHP]

Y este es el codigo con el q obtengo la consulta

Código PHP:
<?php
$link 
= mysql_connect('localhost', 'xx, 'xxxx);
if (!
$link) {
   die(
'Could not connect to MySQL server: ' . mysql_error());
}

$dbname = 'contratacion';
$db_selected = mysql_select_db($dbname, $link);
if (!
$db_selected) {
   die(
'Could not set $dbname: ' . mysql_error());
}

$fields = implode(",", $_POST);   
$query = "select $fields from candidatos  ";
$res = mysql_query ($query);
$numfields = mysql_num_fields ($res);

echo 
"<table> \n <tr>";
for (
$i=0; $i < $numfields;  $i++) {
   echo 
"<th>" .mysql_field_name ($res, $i). "</th>"; 
}
echo 
"</tr> \n";
while (
$row = mysql_fetch_row ($res)) {
   echo 
"<tr><td>" .implode ($row, "</td><td>"). "</td></tr> \n"; 
}
echo 
"</table> \n";
?>
Todo funciona a la perfeccion, el problema es que necesito que en el formulario los checkbox no tengan el nombre del campo de la bd si no un nombre q yo pueda asignarles para q el usuario los identifique, y en cuanto ala consulta solo darle un mejor formato a la tabla que obtengo.

Grax y saludos ...