Foros del Web » Programando para Internet » PHP »

Problema con un codigo

Estas en el tema de Problema con un codigo en el foro de PHP en Foros del Web. Saludos Tengo este codigo: <BLOCKQUOTE><font size=1 face=arial>Citando:<hr height=1 noshade>if ($Answer==&quot;1&quot;) {$tabla=&quot;votos1&quot;;} elseif ($Answer==&quot;2&quot;) {$tabla=&quot;votos2&quot;;} elseif ($Answer==&quot;3&quot;) {$tabla=&quot;votos3&quot;;} elseif ($Answer==&quot;4&quot;) {$tabla=&quot;votos4&quot;;} //Conexion a la DB conectadb(); ...
  #1 (permalink)  
Antiguo 01/01/2002, 12:33
 
Fecha de Ingreso: enero-2002
Ubicacin: Barcelona
Mensajes: 15
Antigedad: 15 aos, 11 meses
Puntos: 0
Problema con un codigo

Saludos

Tengo este codigo:
<BLOCKQUOTE><font size=1 face=arial>Citando:<hr height=1 noshade>if ($Answer==&quot;1&quot;) {$tabla=&quot;votos1&quot;;}
elseif ($Answer==&quot;2&quot;) {$tabla=&quot;votos2&quot;;}
elseif ($Answer==&quot;3&quot;) {$tabla=&quot;votos3&quot;;}
elseif ($Answer==&quot;4&quot;) {$tabla=&quot;votos4&quot;;}

//Conexion a la DB
conectadb();

$query = mysql_query(&quot;SELECT * FROM encuestas WHERE id='$pollId'&quot;);
$row = mysql_fetch_array($query);
$hits = ++$row[$tabla];

//Enviar informacion a la db
$sql = &quot;UPDATE encuesta SET $tabla='$hits' WHERE id='$pollId'&quot;;
$result = mysql_query($sql);
//Fin enviar informacion a la db [/QUOTE]

Pero no me incrementa el campo correspondiente, alguien sabe como debo hacerlo??

Hasta Otra

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> W ߥ [H] - W ꮢTT</TD></TR></TABLE>
  #2 (permalink)  
Antiguo 01/01/2002, 14:17
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicacin: Espaa
Mensajes: 1.430
Antigedad: 16 aos, 6 meses
Puntos: 0
Re: Problema con un codigo

Y porqué no haces una SQL así:<pre>UPDATE $tabla SET votos = votos+1 WHERE id = '$pollid' </pre>

Salu2


- Fernando Pereda ( Ferdy )
<center><a href="http://ferpereda.multimania.com/firmas.php"><img src="http://ferpereda.multimania.com/reg_tira.jpg" border="0"></a></center>
  #3 (permalink)  
Antiguo 01/01/2002, 15:10
 
Fecha de Ingreso: enero-2002
Ubicacin: Barcelona
Mensajes: 15
Antigedad: 15 aos, 11 meses
Puntos: 0
Re: Problema con un codigo

He seguido modificando el código sin mejorar el resultado, ahora he optado por usar un switch():

<BLOCKQUOTE><font size=1 face=arial>Citando:<hr height=1 noshade> switch ($Answer) {
case 1:
$query = mysql_query(&quot;SELECT * FROM encuestas WHERE id='$pollId'&quot;);
$row = mysql_fetch_array($query);
$hit = $row[&quot;votos&quot;];
$hits = ++$hit;
$result = mysql_query(&quot;UPDATE encuesta SET votos='$hits' WHERE id='$pollId'&quot;);
break;
case 2:
$query = mysql_query(&quot;SELECT * FROM encuestas WHERE id='$pollId'&quot;);
$row = mysql_fetch_array($query);
$hit = $row[&quot;votos2&quot;];
$hits = ++$hit;
$result = mysql_query(&quot;UPDATE encuesta SET votos2='$hits' WHERE id='$pollId'&quot;);
break;
case 3:
$query = mysql_query(&quot;SELECT * FROM encuestas WHERE id='$pollId'&quot;);
$row = mysql_fetch_array($query);
$hit = $row[&quot;votos3&quot;];
$hits = ++$hit;
$result = mysql_query(&quot;UPDATE encuesta SET votos3='$hits' WHERE id='$pollId'&quot;);
break;
case 4:
$query = mysql_query(&quot;SELECT * FROM encuestas WHERE id='$pollId'&quot;);
$row = mysql_fetch_array($query);
$hit = $row[&quot;votos4&quot;];
$hits = ++$hit;
$result = mysql_query(&quot;UPDATE encuesta SET votos4='$hits' WHERE id='$pollId'&quot;);
break;
} [/QUOTE]

El resultado es que me incrementa hasta el valor 1 y de alli no se suma más cuando se vuelve a cargar el script.

Hasta Otra

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> W ߥ [H] - W ꮢTT</TD></TR></TABLE>
  #4 (permalink)  
Antiguo 01/01/2002, 15:40
 
Fecha de Ingreso: enero-2002
Ubicacin: Barcelona
Mensajes: 15
Antigedad: 15 aos, 11 meses
Puntos: 0
Re: Problema con un codigo

Saludos

Na...ya me di cuenta del error que tenia...realmente ***** y es que llamaba la tabla &quot;encuestas&quot; que no existe y grababa en &quot;encuesta&quot; que es la que existe :P

Ahora ya funciona correctamente.

Hasta Otra

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> W ߥ [H] - W ꮢTT</TD></TR></TABLE>
  #5 (permalink)  
Antiguo 02/01/2002, 08:42
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicacin: 127.0.0.1
Mensajes: 3.499
Antigedad: 16 aos
Puntos: 68
Re: Problema con un codigo

[chryo] : sin ánimos de ofender, me alegro que hayas corregido el problema que tenías, pero estoy en el deber moral de informarte de que tu código es bastante rebuscado y poco eficiente, cuando podrías estar haciendo lo mismo, gastando menos recursos y sobre todo, escribiendo menos. Aqui va mi sugerencia, pero igual puedes hacer lo que quieres:
<pre>
$nombre = &quot;votos&quot;.$Answer;
$result = &quot;UPDATE encuesta SET &quot;.$nombre.&quot;='&quot;.$nombre.&quot;+1' WHERE id='$pollId'&quot;;
</pre>

Mira todo el código que te ahorras de escribir (y de parsear con el PHP) y te puedo asegurar que hace exactamente lo mismo.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #6 (permalink)  
Antiguo 02/01/2002, 20:06
 
Fecha de Ingreso: enero-2002
Ubicacin: Barcelona
Mensajes: 15
Antigedad: 15 aos, 11 meses
Puntos: 0
Re: Problema con un codigo

Saludos

Gracias x el script k me mandaste pero ya reduci el swith a menos linias y menos codigo y bueno ahora ya no es tan grande :P

Hasta Otra

<STYLE>.ch{text-decoration: none; font: bold 8pt verdana; color: white; background-color: black;}</STYLE><TABLE width=100% cellpadding=0 cellspacing=0><TR><TD class=ch> W ߥ [H] - W ꮢTT</TD></TR></TABLE>
Atencin: Ests leyendo un tema que no tiene actividad desde hace ms 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 19:36.