Foros del Web » Programando para Internet » PHP »

problemas contando campo de tabla

Estas en el tema de problemas contando campo de tabla en el foro de PHP en Foros del Web. hola a todos. tengo un problema. os cuento. tengo hecho un sistema por el cual un usuario puede añadir imagenes que se registran en una ...
  #1 (permalink)  
Antiguo 29/09/2008, 12:01
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
problemas contando campo de tabla

hola a todos. tengo un problema. os cuento. tengo hecho un sistema por el cual un usuario puede añadir imagenes que se registran en una tabla. el límite máximo que le pongo al usuario para añadir imagenes es 4 de tal modo que si el usuario para un producto determinado ya ha añadido dos imágenes lo que quiero es que sólamente me saque dos inputs de imagenes para subir. bien. cómo hacía esto? pues yo había pensado con la ayuda de gente del foro plantearlo así:
//////////////////////////////////////////////////////////////////////////////
$id=$_GET['id']; ---rescato el id del producto en cuestión

$sql= "SELECT * from imagenes where pto_id='$id'"
$resultados = mysql_query($sql) or die (mysql_error());
$imagenes = mysql_num_rows($resultados);
$imagenesquedan = 4 - $imagenes
//////////////////////////////////////////////////////////////////

a partir de aquí, hago un while:

Código PHP:
while($datosmysql_fetch_array($resultados)) 
{
echo 
"Puedes añadir otras <b>$imagenesquedan</b> imágenes : <br><br>";
echo 
"<form name=form onReset='return Limpiar();' action='subir.php?id=$id' ENCTYPE=multipart/form-data METHOD=POST>";


for(
$i $imagenesquedan$i$i--){
echo 
"<input type='file' name='name='archivo[]' size='15' class='caja'><br>";

bien. cual es el problema? el problema es que si por ejemplo hay ya dos imagenes asociadas al producto, le quedarian otras dos por añadir y saca esto:

Puedes añadir otras 2 imagnes:
aqui el input ------examinar
aqui el input-------examinar

y otra vez:
Puedes añadir otras 2 imagenes:
aqui el input-------examinar
aqui el input--------examinar

es decir, lo repite dos veces porque cuenta que hay dos imagnees ya. si hubiera tres lo repetiria tres veces y solo aparecería en cada una 1 input cuando yo solo quiero que lo muestre una vez con el número de inputs que queden para llegar a cuatro. he probado con group by pero entonces siempre considera que sólamente hay una imagen y que restan tres.

alguna ayuda?
  #2 (permalink)  
Antiguo 29/09/2008, 12:22
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problemas contando campo de tabla

Prueba con el for asi:
Código PHP:
for($i 0$i $imagenesquedan$i++){ 
Tal vez es un error de programacion y no de consulta..

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 29/09/2008, 12:35
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: problemas contando campo de tabla

no...sigue igual
  #4 (permalink)  
Antiguo 29/09/2008, 12:39
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problemas contando campo de tabla

Entonces pon el codigo completo para ir viendo de que manera podriamos generar la logica para hacer lo que quieres hacer.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 29/09/2008, 13:25
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: problemas contando campo de tabla

a ver. la tabla de imagenes es esta:
//////////////////////////////
'imagenes'

idimagen----autonumerico
imagen------ruta de la imagen en el servidor
productoid----id del producto al que se le asocia la imagen

y el codigo es este:

Código PHP:
$id=$_GET['id']; /////rescato el id del producto en cuestión

$sql"SELECT * from imagenes where pto_id='$id'"
$resultados mysql_query($sql) or die (mysql_error()); 
$imagenes mysql_num_rows($resultados);
$imagenesquedan $imagenes

while($datosmysql_fetch_array($resultados))  

echo 
"Puedes añadir otras <b>$imagenesquedan</b> imágenes : <br><br>"
echo 
"<form name=form onReset='return Limpiar();' action='subir.php?id=$id' ENCTYPE=multipart/form-data METHOD=POST>"


for(
$i $imagenesquedan$i$i--){ 
echo 
"<input type='file' name='name='archivo[]' size='15' class='caja'><br>"

eso es todo. cuando en la tabla imagen no hay ninguna imagen asociada a un producto en concreto aún, pues funciona bien. saca los 4 inputs pero si hay dos o tres imagenes asociadas a un producto saca el form tantas veces como imagenes hay asociadas pero con los inputs que correspondan. es decir, que el form se repite
  #6 (permalink)  
Antiguo 29/09/2008, 13:53
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: problemas contando campo de tabla

Pon el for afuera del while.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 29/09/2008, 23:51
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: problemas contando campo de tabla

nada...tampoco...me voy a volver loca
  #8 (permalink)  
Antiguo 30/09/2008, 00:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: problemas contando campo de tabla

... ¿y el while para qué es?, ¿para qué recuperar y procesas la información? ... ¿qué no solo te interesa EL NÚMERO?. Incluso, desde la consulta estás mal, deberías utilizar un COUNT() y ya.

... solo porque mencioné el COUNT()
Código PHP:
$sql"SELECT COUNT(*) AS cantidad from imagenes where pto_id='$id'"
$resultados mysql_query($sql) or die (mysql_error()); 
$dato mysql_fetch_assoc($resultados);
$imagenesquedan $dato['cantidad'];

if(
$imagenesquedan >) { // seguramente querrás hacer esto
echo "Puedes añadir otras <b>$imagenesquedan</b> imágenes : <br><br>"
echo 
"<form name=form onReset='return Limpiar();' action='subir.php?id=$id' ENCTYPE=multipart/form-data METHOD=POST>"

for(
$i $imagenesquedan$i 0$i--) {
    echo 
"<input type='file' name='name='archivo[]' size='15' class='caja'><br>"
}

// fin del if .. tú sabrás 
Espero sirva. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 30/09/2008 a las 00:07
  #9 (permalink)  
Antiguo 30/09/2008, 01:00
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Respuesta: problemas contando campo de tabla

justo. no se me había ocurrido plantearlo asi. lo del while era porque había otros datos que no puse para simplificar el tema y se me olvidó quitarlo con el copia y pega.

gracias a todos....besitos....
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 06:59.