[Resuelto] consulta sql para while en php

Iniciado por tecasoft, 7 Octubre 2015, 04:25 AM

0 Miembros y 1 Visitante están viendo este tema.

tecasoft

buenas amigos otra vez estamos por aqui, tengo el siguiente problema, tengo una serie de bases de datos y y un codigo en php, me gustaria que atraves de 1 sola consulta SQL pudiera recojer 2 while, es decir, necesito listar el cod_cliente en un
Código (html4strict) [Seleccionar]

<select><option>$fila2['cod_cliente']</option></select>


y luego otro while con:
Código (html4strict) [Seleccionar]

<select><option>$fila2['fecha']</option></select>


Código (php) [Seleccionar]

<form>

Cod_cliente:

 
<?php

echo "<select name='cod_cliente'>";

$result2=mysqli_query($conexion,"select cod_cliente,fecha,contacto,tipo,poblacion,provincia,pais,revisado,nombre_empresa,web,clientes_telefonos,nombre,apellidos from clientes,clientes_telefonos,clientes_tratamiento");

mysqli_set_charset($result2,"utf8");

while(
$fila2=mysqli_fetch_array($result2))
{
echo "<option>".$fila2['cod_cliente']."<option>";
$fila2['fecha'];
}

echo 
"</select>";
echo 
"<select name='fecha'>";

foreach((
$fila2['fecha']) as $value)
{
echo "<option>".$value."<option>";
}

echo 
"</select>";
?>


</form>



por lo que llevo me funciona el primer while pero el segundo se me atasca y no rula, podria hacerlo con una sql solo?, ya que si utilizo mas sql me consumira muchos recursos, que opinais al respecto?

Mod: Temas sobre PHP van al subforo de PHP.
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

engel lex

el problema es de alcance (scope) cuando usas

Código (php) [Seleccionar]
while($fila2=mysqli_fetch_array($result2))
{
echo "<option>".$fila2['cod_cliente']."<option>";
$fila2['fecha'];
}


$fila2 solo varía dentro de esos corchetes

en tal caso sería volcar todo a $fila2 y usar esa variable... es decir...

Código (php) [Seleccionar]
while($salida=mysqli_fetch_array($result2))
{
$fila2[]=$salida;
}



por otro lado usas foreach mal debes usarlo así

Código (php) [Seleccionar]
foreach($fila2 as $value)
{
echo "<option>".$value["fecha"]."<option>";
}


ya que si haces como lo tenías, el intentará iterar dentro de el array que contenga $fila2 en el valor "fecha", cosa que no existe para este caso...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

tecasoft

perdona por mi torpeza lo estoy probando y no me funciona, haber como quedaria en realidad:

Código (php) [Seleccionar]

while($fila2=mysqli_fetch_array($result2))
{
/*echo "<option>".$fila2['cod_cliente']."<option>";*/
$fila2[]=$fila2;
echo "<option>".$fila2['cod_cliente']."<option>";
}

echo "</select>";
echo "<select name='fecha'>";

while($fila3=mysqli_fetch_array($result2))
{

$fila3[]=$fila3;
echo "<option>".$fila3['fecha']."<option>";
}

echo "</select>";


asi no funciona
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits

engel lex

$fila3[]=$fila3;

se crea un agujero negro y destruye el mundo XD

si haces en un while
mysqli_fetch_array($result2)

cuando lo vuelvas a hacer dará false, porque ya se recorrió completo...

debes hacer algo como

Código (php) [Seleccionar]
while($fila2[]=mysqli_fetch_array($result2)){}// esto vacío porque lo importante pasa allá atrás


foreach($fila2 as $value){
echo "<option>".$value['cod_cliente']."<option>";
}

echo "</select>";
echo "<select name='fecha'>";

foreach($fila2 as $value){
echo "<option>".$value['fecha']."<option>";
}

echo "</select>";
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

tecasoft

Gracias tio ya me funciona, gracias al codigo que has dejado tu se podria dar como resuelto, como se pone para que el comentario este resuelto(hablo el del foro), porque a mucha gente le servira este ejemplo XD
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits