Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas con bucle

Estas en el tema de Problemas con bucle en el foro de PHP en Foros del Web. Buenas tengo un problema que no doy resuelto: Tengo un form del cual salen 2 variables "$mensaje y $Nombre En la variable $mensaje tengo por ...
  #1 (permalink)  
Antiguo 04/09/2019, 08:46
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 3 años, 4 meses
Puntos: 1
Problemas con bucle

Buenas tengo un problema que no doy resuelto:
Tengo un form del cual salen 2 variables "$mensaje y $Nombre
En la variable $mensaje tengo por ejemplo los valores, 3, 5 y 8

El select devuelve (aquí no tiene el where) una direccion para cada $Nombre

El resultado que busco es:

Juan calle xx,2 3
Pedro calle yy,1 5
Mar calle vv,8 8


tengo lo siguiente:
Código PHP:
$mensaje $_POST["mensaje"];
$nombre $_POST["Nombre"];

$result mysql_query("SELECT nombreR, direccion FROM usuarios "); 
if (
$_SERVER["REQUEST_METHOD"] == "POST") {   
    
$mensaje=$_POST["mensaje"]; 
    
$count count($mensaje); 
    for (
$i 0$i $count $i++) { //No se porque hay dos ciclos
        
while ($row mysql_fetch_array($result)) { 
echo 
"\$i = $mensaje[$i]" "\n";



Sin embargo no soy capaz de hacer el ciclo.
Gracias
  #2 (permalink)  
Antiguo 04/09/2019, 21:10
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.467
Antigüedad: 11 años, 6 meses
Puntos: 1072
Respuesta: Problemas con bucle

Cita:
//No se porque hay dos ciclos
Eso es todo lo que hay que saber, empieza por acudir a un curso de PHP básico para que sepas lo que estas haciendo, procede a crear tu propio código y después vienes y preguntas por el fallo que tengas.

en este momento da igual si se te responde con la solución si para el caso no entenderás de que va.
  #3 (permalink)  
Antiguo 07/09/2019, 18:51
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 395
Antigüedad: 11 años, 8 meses
Puntos: 11
Respuesta: Problemas con bucle

Código PHP:
while ($row mysql_fetch_row($result)){ 
       echo 
$row[0].'--'.$row[1];

__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -
  #4 (permalink)  
Antiguo 10/09/2019, 02:58
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 3 años, 4 meses
Puntos: 1
Respuesta: Problemas con bucle

Buenas, gracias zerpico_01, al final lo he resuelto así, es posible que le dé demasiadas vueltas, pero con esto consigo lo que necesito. Gracias otra vez



Código PHP:
$mensaje $_POST["tienda"];//contiene el número de bultos para correos individulales
$centro $_POST["Tienda"]; // contiene las tiendas
$sugerencias_1 $_POST["sugerencias"]; // contiene las observaciones

$consulta mysql_query("SELECT DISTINCT  email2 FROM usuarios WHERE nombreR IN ("."'".implode("','",$centro)."'".") ORDER BY nombreR ASC");

function 
toArray($consulta)
{
        while (
$fila mysql_fetch_array($consultaMYSQL_ASSOC))
        {
                   
$registros[] = $fila;
        }
        return 
$registros;
}

$vector toArray($consulta);

$flat array_map('current'$vector);

$nombres array_column(toArray($consulta), 'email2');

 foreach(
$vector as $equipo)
     {
     
//echo "Email: ";
     
foreach($equipo as $jugador)
         {
     
///////////////////////    echo $jugador ." ";
         
}
     
//echo "<br>";
     
}

if (
$_SERVER["REQUEST_METHOD"] == "POST") {   
    
$mensaje=$_POST["tienda"]; 
    
////$count = count($mensaje); 
    
$count count($flat);

if ((
sizeOf($mensaje) !== sizeOf($centro)) || (sizeOf($centro) !== sizeOf($flat))){ 
  throw new 
Exception('Los tres arrays deben ser del mismo tamaño'); 

foreach (
$mensaje as $key => $value){ 
//  echo "{$mensaje[$key]}".","."{$centro[$key]}".","."{$flat[$key]}\n"; 
}
                
    
$array_num count($centro);  //contamos cuantos emails hay   $array_num
    
for ($i 0$i $array_num $i++) { 
    
                
//echo ($array_num);
    
echo "The number is: $i <br>";
    echo 
"BULTOS: $mensaje[$i] <br>";
    echo 
"TIENDA: $centro[$i] <br>";
    echo 
"EMAIL: $flat[$i] <br>"



La zona horaria es GMT -6. Ahora son las 04:35.