Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Alguien sabe como reducir un resultado dentro del bucle while?

Estas en el tema de Alguien sabe como reducir un resultado dentro del bucle while? en el foro de PHP en Foros del Web. Tal como es titulo tengo un resultado de un while que me tira tres valores y como while es un bucle pues lo que hace ...
  #1 (permalink)  
Antiguo 01/06/2016, 18:53
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Alguien sabe como reducir un resultado dentro del bucle while?

Tal como es titulo tengo un resultado de un while que me tira tres valores y como while es un bucle pues lo que hace es que se repite tres veces pero dentro tengo un codigo html con un valor que no quiero que serepita tres veces solo dos, siempre que se el reste uno.

cualquier avance de mi parte le cuento el reto que esta par ami bien difícil.
  #2 (permalink)  
Antiguo 01/06/2016, 18:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Pues yo no entendí nada de lo que mencionaste, no comprendo por qué asumes que te explicas perfectamente como si no hiciera falta más.

Yo preferiría que muestres el código que tienes, un ejemplo de lo que buscas obtener, así como las estructuras de datos, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/06/2016, 19:09
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Código PHP:
Ver original
  1. $i = 0;
  2. while($i < 10){
  3. echo "Esto es algo";
  4.  
  5. echo ($i <= 2) ? 'Esto es algo cuando i es menor o igual a 2' : '';
  6. $i++;
  7.  
  8. }

Vamos Wilson, que hay que usar la lógica en Programación.
  #4 (permalink)  
Antiguo 01/06/2016, 19:24
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Es que estoy sacando unos resultado de la base de datos y quiero que uno no se imprima si sales 5 datos pero quiero que uno no.
Código PHP:
Ver original
  1. //RIVAL TIENE 3 INGRESO Pedro,Juan,Jose
  2. $info=mysqli_query($conexion, "SELECT rival FROM jugadores  ");
  3. while ($done=mysqli_fetch_array($info))
  4. {
  5.     echo $done[rival];
  6. }

Estoy estudiando array_reduce()

Pero todo saben aqui que yo y el manual no lo entiendo paresco la estatua del pensador con al mano en la cabeza dos horas mirando los ejemplo aver como aplicarlo
  #5 (permalink)  
Antiguo 01/06/2016, 19:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Código PHP:
Ver original
  1. $i = 0;
  2. while($i < 10){
  3. echo "Esto es algo";
  4.  
  5. echo ($i <= 2) ? 'Esto es algo cuando i es menor o igual a 2' : '';
  6. $i++;
  7.  
  8. }

Vamos Wilson, que hay que usar la lógica en Programación.
Es lamentable que no me funciones ya que los valores en este caso no tienen un valor numérico predefinido
  #6 (permalink)  
Antiguo 01/06/2016, 20:08
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

¿Y entonces cómo haces el while si no tienes un valor númerico predefinido?
  #7 (permalink)  
Antiguo 01/06/2016, 21:17
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Cita:
Iniciado por rodocoyote15 Ver Mensaje
¿Y entonces cómo haces el while si no tienes un valor númerico predefinido?

por que el while se alimenta del contenido de la base de datos en el código de arriba lo muestra

Código PHP:
Ver original
  1. //RIVAL TIENE 3 INGRESO Pedro,Juan,Jose
  2. $info=mysqli_query($conexion, "SELECT rival FROM jugadores  ");
  3. while ($done=mysqli_fetch_array($info))
  4. {
  5.     echo $done[rival];
  6. }
  #8 (permalink)  
Antiguo 01/06/2016, 21:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

¿Por qué necesitas "reducir" dichos valores? ¿Qué resultado deseas obtener?

Cita:
valor que no quiero que serepita tres veces solo dos, siempre que se el reste uno.
Además, si no necesitas un valor ¿para qué lo extraes de la base de datos?

Sería más simple aplicar un LIMIT o un WHERE para obtener sólo los valores que necesitas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 01/06/2016, 21:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

lo quiero extraer porque me sale sobrando una , (coma)

tengo tres valores
pedro juan jesus

pero quiero que se imprima

pedro, juan, jesus

si pongo una coma dentro de while por si lo pensais

imprime

pedro, juan, jesus,
  #10 (permalink)  
Antiguo 01/06/2016, 21:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

¿De verdad sólo quieres omitir una coma y nada más?

Por algo tan trivial no necesitas reducir nada, sólo debes usar algo de lógica:
Código PHP:
Ver original
  1. $total = contar_rows_del_sql($result);
  2.  
  3. while ($row = fetching_del_sql($result)) {
  4.   echo $row['nombre_o_campo_a_imprimir'];
  5.  
  6.   if ($total) {
  7.     echo ', ';
  8.   }
  9.  
  10.   $total--;
  11. }

Por eso es que deberías explicar mejor tus "ideas" porque sencillamente te ahogas en un vaso de agua, y tratas de buscar una "solución" mucho más compleja por algo tan simple e irrelevante.

En fin, ojalá entiendas la idea.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 01/06/2016, 21:51
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Gracias pero me quedo corto

$total = contar_rows_del_sql($result);
me imagino que voy a usar count($resultado); o usar $numero = mysql_num_rows();

echo $row['nombre_o_campo_a_imprimir'];

esta parte si al entiendo pero no la primera
  #12 (permalink)  
Antiguo 01/06/2016, 22:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Sí, el primer valor es algo que te indica el total de cosas a iterar, si tienes un array count() es correcto, si tienes un resultado de base de datos... bueno, ya te das una idea.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 03/06/2016, 09:59
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

esa variable que esta dentro de contar_rows_del_sql($result); la llamada $resul de donde se alimenta. Del query ?
cuando le pongo la variable de la query me da un error
Warning: mysql_affected_rows() expects parameter 1 to be resource, object given in C:\xampp\htdocs\room\funciones\post\index.php on line 40

Última edición por wilson_romero; 03/06/2016 a las 10:44
  #14 (permalink)  
Antiguo 03/06/2016, 10:59
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

mysql_affected_rows() te trae las FILAS AFECTADAS. Su nombre lo dice.
mysql_num_rows() devuelve las FILAS EXTRAIDAS de la consulta.

Por favor Wilson, tenemos que leer el manual y ver qué hace cada una de las funciones de php que necesitamos usar. No tienes que leer los ejemplos, las contribuciones mucho menos. Simplemente la definición, y con ello ya te das una idea.
  #15 (permalink)  
Antiguo 03/06/2016, 12:07
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

$total = mysqli_num_rows($info);
bueno antes de me contestarme lo había encontrado lo vi en un ejemplo de un video como se usa

aplique tu ejemplo de la resta de la (,) y no me funciono me imprimo las tres comos lo hice asi

Código PHP:
Ver original
  1. $total = mysqli_num_rows($info_vs);
  2.  
  3.  while ($done=mysqli_fetch_array($info_vs,MYSQLI_ASSOC))
  4. {
  5.    
  6. $result= $done['rival'];
  7. if ($total) {
  8.     echo ', ';
  9.   }
  10.  
  11.   $total--;
  12.  
  13.  
  14. echo $result;
  15. }
  #16 (permalink)  
Antiguo 03/06/2016, 12:42
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Código PHP:
Ver original
  1. $total = mysqli_num_rows($info_vs)-1;

Prueba así. Pero insisto, debes de aplicarle un poco de lógica a lo que haces ... en fin
  #17 (permalink)  
Antiguo 03/06/2016, 12:56
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Tu eres el PUT@ AMO TU ERES EL MAS BERRACO TU ERES MI HÉROE Tu eres lo maximo oooooooo
GRacias mi hermano yo tenia 4 dias puyando esto muchisimas gracias

yo la verdad nunca pudiera haber algo asi ya que veo como la variable total esta en lo ultimo con dos signo de menos y aun asi afecta el resultado que esta arriba gracias men.

Última edición por wilson_romero; 03/06/2016 a las 13:30
  #18 (permalink)  
Antiguo 03/06/2016, 14:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Apuesto a que ni siquiera comprendes en qué consiste la solución wilson_romero, no lo tomes a mal, pero sería buena saber si entiendes a totalidad el código que resulltó al final.

Sólo por fines didácticos, vamos, que sería bueno que si otro usuario entra a este tema entienda a la perfección la misma solución.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 03/06/2016, 15:31
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Bueno yo puse lo que entendi pero no entiendo como lo ultimo hace lo que hace explique maestro

Código PHP:
Ver original
  1. //la variable total tiene el valor de la salida que este caso son 3 registro y con el simbolo de -1 le //vamos a quitar una salida
  2. $total = mysqli_num_rows($info_vs)-1;
  3. // entramo al while para sacar los resultado
  4.  
  5. while ($done=mysqli_fetch_array($info_vs,MYSQLI_ASSOC))
  6. {
  7. // esta es uan salida normal
  8. echo $done['rival'];
  9. //creamos uan sentencia para la coma que es lo que queremos restarle 1
  10. //si es verdadera (Dice si $total existe )
  11. if ($total) {
  12. //imprimimos nuestra como
  13. echo ' , ';
  14. }
  15. //luego a la variable $total que es la que le restamos 1
  16. //NO SE LO QUE PASA NI COMO FUNCIONA ESTO :P EXPLIQUE MA ESTRO como esto hace que reste //a valor 1 ni siquiera contiene la cantidad y esta fuera de la sentencia como?  
  17. $total--;
  #20 (permalink)  
Antiguo 03/06/2016, 15:45
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Hola Wilson, deberias leerte el manual :

Operadores de incremento/decremento

Ademas de eso, la variable dentro del while tiene un valor, que antes de finalizar el bucle, si esta variable es alterada, al momento de iniciar de nuevo el bucle el valor de dicha variable sera el que fue alterado previamente, espero hayas entendido.

Saludos.

Última edición por kip13; 03/06/2016 a las 16:02
  #21 (permalink)  
Antiguo 03/06/2016, 20:29
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

yo creía que el while solo lee lo que tiene dentro o que la maquina cuando lee el código primero resuelve las repeticiones del while y luego sigue leyendo codigo, si no es asi entonces quieres decir el la maquina lee todo el código y cuando ve un while regresa desde el principio a leer otra vez ?
  #22 (permalink)  
Antiguo 03/06/2016, 22:41
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 12 años, 8 meses
Puntos: 13
Respuesta: Alguien sabe como reducir un resultado dentro del bucle while?

Wilson, estas confundiendote tratando de sacar conclusiones a pura intuición, como siempre deberias leer el manual:

Cita:
El significado de una sentencia while es simple. Le dice a PHP que ejecute las sentencias anidadas, tanto como la expresión while se evalúe como TRUE. El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteración). A veces, si la expresión while se evalúa como FALSE desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.
Aqui un ejemplo extraido de la web:

Cita:
Generar un valor aleatorio entre 1 y 30, luego imprimir en la página desde 1 hasta el valor generado (de uno en uno):
Código PHP:
Ver original
  1. <?php
  2. $valor=rand(1,30);
  3. $inicio=1;
  4. echo 'La variable inicio tiene como valor inicial '.$inicio. ' estos son los valores que toma hasta finalizar el while: </br>';
  5. while($inicio<=$valor)
  6. {
  7.     echo $inicio;
  8.     echo "<br>";
  9.     $inicio++;
  10. }
  11. echo 'Ahora que finalizo el while la variable inicio tiene este valor '.$inicio ;
  12. ?>

Cita:
La variable $inicio tiene el valor 1 antes de ingresar al while. Cada vez que se ejecuta una vez el bloque del while se incrementa $inicio en uno. Cuando $inicio supere la variable $valor finalizará la estructura repetitiva y pasará a ejecutarse la instrucción inmediatamente siguiente a la llave de cerrado del while, en la cual mostrara el nuevo valor de $inicio.
phpYa Estructuras repetitivas

Pasate por el manual:
Manual WHILE

Saludos

Última edición por kip13; 03/06/2016 a las 22:58

Etiquetas: bucle, html, reducir, resultado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:10.