Foros del Web » Programando para Internet » PHP »

Pregunta de un novato: Singo dolar en valor$voto

Estas en el tema de Pregunta de un novato: Singo dolar en valor$voto en el foro de PHP en Foros del Web. Hasta ahora me encuentro con esto y estoy como loco tratando de encontrar que significa este script: Código PHP: $sqlupdate  =  "UPDATE encuesta_1 SET valor$voto = valor$voto+1, total = total+1" ;  La parte ...
  #1 (permalink)  
Antiguo 23/08/2009, 15:49
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta de un novato: Singo dolar en valor$voto

Hasta ahora me encuentro con esto y estoy como loco tratando de encontrar que significa este script:

Código PHP:
$sqlupdate "UPDATE encuesta_1 SET valor$voto = valor$voto+1, total = total+1"
La parte total = total +1 la la entiendo bien pero no la de valor$voto. Agradezco sus respuestas

JDiDiEr
  #2 (permalink)  
Antiguo 23/08/2009, 20:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Pregunta de un novato: Singo dolar en valor$voto

$voto es una variable y, al estar en una cadena entre comillas dobles, sera reemplazada con su valor.

Supongo que la tabla encuesta_1 debe tener campos valor1 (o valor01 ) en adelante, correspondientes a cada respuesta posible en una encuesta.

Para ver exactamente como queda, solo necesitas:
echo $sqlupdate;
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/08/2009, 07:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta de un novato: Singo dolar en valor$voto

Triby: saludos y gracias por responder

Comprendí lo que usted me dice al incluir echo. También usted tiene razón: la tabla tiene los campos valor1, valor2, etc; sin embargo, al correr el script no reconoce la columna valor. Probé solamente con total y funcionó bien, es decir, si fue reconocida.

Este es el script que debe alimentar la base de datos. Nuevamente le agradezco cualquier información que me de una guía para salir de este problema.


Código PHP:
<?PHP

$servidor 
"localhost";
$usuario "usuario"
$password "password"
$base_de_datos "basededatos";

$conextar=mysql_connect ($servidor,$usuario,$password);
    
mysql_select_db($base_de_datos);
    
$sqlupdate "UPDATE encuesta_1 SET valor$voto = valor$voto+1, total = total+1";
    echo 
$sqlupdate
    
mysql_query($sqlupdate) or die(mysql_error());
    
//
    
$sql "SELECT * FROM encuesta_1 ORDER BY id desc LIMIT 1";
    
$resultados mysql_query($sql,$conextar);
    
$row mysql_fetch_array($resultados);
    
?>
<script type="text/javascript" language="JavaScript">
function resultados(){
window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=320");
}
</script>

<form name="form1"  action="<?PHP echo $_SERVER['$PHP_SELF']; ?>" method="post">
  <table width="256" border="0" align="center" cellpadding="0" cellspacing="0" class="forumline">
    <tr valign="baseline"> 
      <td colspan="2" class="row1"> 
        <?= $row['pregunta']; ?>
        <br>
      </td>
    </tr>
    <tr> 
      <td width="110"> 
        <?= $row['respuesta1'];?>
      </td>
      <td width="146"><input type="radio" name="voto" value="1"></td>
    </tr>
    <tr> 
      <td> 
        <?= $row['respuesta2'];?>
      </td>
      <td><input type="radio" name="voto" value="2"></td>
    </tr>
    <tr> 
      <td> 
        <?= $row['respuesta3'];?>
      </td>
      <td><input type="radio" name="voto" value="3"></td>
    </tr>
    <tr> 
      <td> 
        <?= $row['respuesta4'];?>
      </td>
      <td><input type="radio" name="voto" value="4"></td>
    </tr>
    <tr align="center"> 
      <td height="20" colspan="2"><input type="submit"  class="post"name="Submit" value="Votar" onClick=window.open("resultados.php","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=320,height=320");
></td>
    </tr>
  </table>
  <p>&nbsp;</p></form>


</body>
</html>
J. DiDieR
  #4 (permalink)  
Antiguo 24/08/2009, 17:03
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Pregunta de un novato: Singo dolar en valor$voto

Una ayuda por favor
  #5 (permalink)  
Antiguo 24/08/2009, 17:05
Avatar de Luis207  
Fecha de Ingreso: abril-2009
Mensajes: 52
Antigüedad: 15 años
Puntos: 0
Respuesta: Pregunta de un novato: Singo dolar en valor$voto

Prueba a cambiar donde pones <?= $row['pregunta']; ?> por <?php $row['pregunta']; ?>
  #6 (permalink)  
Antiguo 24/08/2009, 23:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Pregunta de un novato: Singo dolar en valor$voto

Se hizo el último cambio sugerido. El resultado: no aparece en pantalla la pregunta y sigue sin reconocerse la variable valor

Por favor, sigo esperando respuestas para la sentencia

Código PHP:
$sqlupdate "UPDATE encuesta_1 SET valor$voto = valor$voto+1, total = total+1"
Cita:
ERROR: Unknown column 'valor' in 'field list'
  #7 (permalink)  
Antiguo 25/08/2009, 01:21
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta del mismo novato: Singo dolar en valor$voto

BINGO!!!!

Después de algunas horas de votar corriente esta es la solución

Cita:
$voto=$_POST["voto"];
De esta forma se reconoce el campo valor en la base de datos.

Uffff! Ahí se las dejo para el recuerdo. Gracias mil
  #8 (permalink)  
Antiguo 25/08/2009, 07:53
 
Fecha de Ingreso: agosto-2009
Mensajes: 39
Antigüedad: 14 años, 8 meses
Puntos: 0
Desacuerdo ERROR: Singo dolar en valor$voto

Señores: saludos cordiales.

La emoción duró muy poco. Hice los cambios y funciona a medias; me explico a través del siguieten script.

Cita:
$conextar=mysql_connect ($servidor,$usuario,$password);
mysql_select_db($base_de_datos);
$voto=$_POST["voto"];
$sqlupdate = "UPDATE encuesta_1 SET valor$voto = valor$voto+1, total = total+1";
mysql_query($sqlupdate) or die(mysql_error());
La parte que esta en negrilla, cuando la quito hace que en la ecuación valor$voto=valor$voto+1 se reconozca el campo o columna valor, una vez se de la orden "Ver resultados". Pero, cuando lo lllamo desde otro ordenador, el script no funciona y sigue enviando el mensaje
Cita:
Unknown column 'valor' in 'field list'
Envío el script que muestra el contenido de la base de datos para analizar si aquí está el error (por seguridad no se ha incluido localhost, usuario, password, base de datos).

Código PHP:
<?PHP
$conextar
=mysql_connect ($servidor,$usuario,$password);
    
mysql_select_db($base_de_datos);
       
$sql "SELECT * FROM encuesta_1 ORDER BY id desc LIMIT 1";
       
$resultados mysql_query($sql,$conextar);
    
$row mysql_fetch_array($resultados);
 
$res1round ($row['valor1']*100/$row['total'],2);
 
$res2round ($row['valor2']*100/$row['total'],2);
 
$res3round ($row['valor3']*100/$row['total'],2);
 
$res4round ($row['valor4']*100/$row['total'],2);
 
?>
<p>Resultados parciales de la encuesta</p>
<?=$row['pregunta']; ?><br>
<br>
 
<TABLE WIDTH="300"  BORDER="1" ALIGN="center"  BORDERCOLOR="#3097A3">
  <TR>
     <TD WIDTH="100"><?=$row['respuesta1']; ?></TD> 
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor1"]*100/$row["total"]?>%" </TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res1."%";?> </TD>
  </TR>
  <TR>
   <TD WIDTH="100" ><?=$row['respuesta2']; ?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor2"]*100/$row["total"]?>%" </TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res2."%";?> </TD>
  </TR>
  <TR>
     <TD WIDTH="100"><?=$row['respuesta3']; ?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor3"]*100/$row["total"]?>%" </TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res3."%";?> </TD>
  </TR>
  <TR>
     <TD WIDTH="100"><?=$row['respuesta4']; ?></TD>
    <TD WIDTH="*"><IMG HEIGHT="15" WIDTH="<?=$row["valor4"]*100/$row["total"]?>%" </TD>
    <TD ALIGN="center" WIDTH="70"><? echo $res4."%";?> </TD>
  </TR>
</TABLE>
<form name="form1" method="post" action="">
  <div align="center">
    <p>
      <input type="submit" name="Submit" value="Cerrar Ventana" onclick="window.close();">
    </p>
    <p>&nbsp; </p>
  </div>
</form>
</body>
</html>
Por favor, se han agotado todos mis recursos y ahora solo quedo en espera de que ustedes, los expertos y conocedores de php, me de una manito.

Gracias por su atención.
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:46.