Foros del Web » Programando para Internet » PHP »

Problema con sistema de encuestas

Estas en el tema de Problema con sistema de encuestas en el foro de PHP en Foros del Web. Saludos a todos! Verán, descargué un código que sirve para realizar encuestas en una web, está divido en 3 secciones, aquí lo detallo: 1. "encuesta.sql": ...
  #1 (permalink)  
Antiguo 31/10/2005, 09:28
 
Fecha de Ingreso: agosto-2004
Ubicación: Argentina
Mensajes: 81
Antigüedad: 13 años, 4 meses
Puntos: 0
Problema con sistema de encuestas

Saludos a todos!

Verán, descargué un código que sirve para realizar encuestas en una web, está divido en 3 secciones, aquí lo detallo:

1. "encuesta.sql": En este archivo hay las siguientes líneas de código:

Código:
# MySQL-Front Dump 2.5
#
# Host: localhost   Database: encuesta
# --------------------------------------------------------
# Server version 4.0.1-alpha-nt

USE encuesta;


#
# Table structure for table 'tblenc'
#

DROP TABLE IF EXISTS tblenc;
CREATE TABLE tblenc (
  encid int(11) NOT NULL auto_increment,
  encprg varchar(50) default NULL,
  encrpt1 varchar(50) default NULL,
  encrpt2 varchar(50) default NULL,
  encrpt3 varchar(50) default NULL,
  encrpt4 varchar(50) default NULL,
  encval1 int(11) NOT NULL default '0',
  encval2 int(11) NOT NULL default '0',
  encval3 int(11) NOT NULL default '0',
  encval4 int(11) NOT NULL default '0',
  enctot int(11) NOT NULL default '0',
  PRIMARY KEY  (encid)
) TYPE=MyISAM;
2º. "index.php": Aquí les mando el código:

Código:
<?
	$servidor="localhost";
	$usuario="aqui va el usuario";
	$password="aqui va el password de mi servidor";
	$base="encuestas";
	$SQLid = mysql_connect($servidor,$usuario,$password);
	mysql_select_db($base,$SQLid);
	$SQLquery = "SELECT * FROM tblenc order by encid desc";
	$SQLresult = mysql_query($SQLquery,$SQLid);
	$SQLrow = mysql_fetch_array($SQLresult);
?>
<form name="form1" method="post" action="encuesta.php">
<input type=hidden name="encid" value="<?echo $SQLrow[0]?>">              
  <table width="270" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr> 
                  <td align=center bgcolor="#006600"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Qu&eacute; m&eacute;todo utilizar&iacute;a al momento de comprar por Internet? </font></td>
    </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>
				  <? echo $SQLrow[1]?>
				  </strong></font></div></td>
                </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <p> <font size="2"> 
                      <label> 
                      <input type="radio" name="voto" value="1">
                      Pago con Tarjeta de cr&eacute;dito
                      <? echo $SQLrow[2]?></label>
                      <br>
                  <label> 
                      <input type="radio" name="voto" value="2">
                  Pago con Sistema Pago F&aacute;cil
                  <? echo $SQLrow[3]?></label>
                      <br>
                      <label> 
                      <input type="radio" name="voto" value="3">
                      Pago con Deposito Bancario
                      <? echo $SQLrow[4]?></label>
                      <br>
                  <label> 
                      <input type="radio" name="voto" value="4">
                  Pago Contrareembolso
                  <? echo $SQLrow[5]?></label>
                      <br>
                      </font></p></td>
                </tr>
                <tr> 
                  <td bgcolor="#FFFFCC"> <BR>
						<div align="center"> 
                      <input type="submit" name="Submit" value="Aceptar">
                    </div><BR>
				</td>
                </tr>
              </table>
            </form>
			
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="control.php">Administraci&oacute;n</a></font></div>
3º. "encuesta.php": Último archivo, aquí va el código:

Código:
<?
//recibo el voto
$voto = $_POST["voto"];
//recibo el id de la encuesta
$encid = $_POST["encid"];

$servidor="localhost";
$usuario="nombre de usuario";
$password="password de mi servidor";
$base="encuestas";
$SQLid = mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$SQLid);
$SQLquery = "UPDATE tblenc".
			" SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLquery = "SELECT * FROM tblenc where encid=$encid";
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLrow = mysql_fetch_array($SQLresult);
?>
  <P ALIGN="center"><font size="4"><strong><em>RESULTADOS PARCIALES DE LA 
    ENCUESTA</em></strong></font></P>
  <P ALIGN="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
    <?
  	echo $SQLrow["encprg"]
  ?>
  </font></strong></P>
  <TABLE ALIGN="center" WIDTH="75%" BORDER="0" CELLSPACING="1" CELLPADDING="1">
    <!--DWLayoutTable-->
    <TR> 
      <TD ALIGN="left" WIDTH="23%"><? echo $SQLrow["encrpt1"]?> 
        Pago con Tarjeta de Cr&eacute;dito
          <div align="left"></div></TD>
      <TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval1"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif"></TD>
      <TD ALIGN="center" WIDTH="14%"><? echo $SQLrow["encval1"]?> votos</TD>
    </TR>
    <TR> 
      <TD ALIGN="left"><? echo $SQLrow["encrpt2"]?> 
        Pago con Sistema Pago F&aacute;cil
          <div align="left"></div></TD>
      <TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval2"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra2.gif"></TD>
      <TD ALIGN="center"><? echo $SQLrow["encval2"]?> votos</TD>
    </TR>
    <TR> 
      <TD ALIGN="left"><? echo $SQLrow["encrpt3"]?> 
        Pago con Dep&oacute;sito Bancario
          <div align="left"></div></TD>
      <TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval3"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra3.gif"></TD>
      <TD ALIGN="center"><? echo $SQLrow["encval3"]?> votos</TD>
    </TR>
    <TR> 
      <TD ALIGN="left"><? echo $SQLrow["encrpt4"]?> 
        Pago Contrareembolso
          <div align="left"></div></TD>
      <TD><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval4"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra4.gif"></TD>
      <TD ALIGN="center"><? echo $SQLrow["encval4"]?> votos</TD>
    </TR>
  </TABLE>
  <P ALIGN="center">Total de votos emitidos: <? echo $SQLrow["enctot"]?></P>

Ahora bien, el problema es que cuando lo ejecuto, me da el siguiente error:

1º. En la página INDEX.PHP: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bn000055/public_html/encuesta/index.php on line 10

Nota: El "bn000055" es mi nombre de usuario en el servidor

2º. En la página ENCUESTA.PHP: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/bn000055/public_html/encuesta/encuesta.php on line 18

En los dos esta dando el error en la linea "mysql_fetch_array()".

Poco entiendo de PHP, no sé porqué me da este error. Por favor, si alguien sabe, le estaría muy agradecido por la ayuda.

Aclaraciones: El servidor es Linux y poseo otro en Unix, tengo entendido que deberían soportar esta Base de datos.

Saludos a todos, y desde ya muchas gracias.
  #2 (permalink)  
Antiguo 31/10/2005, 09:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para detectar el problema .. "vé" los mensajes de error que puedas tener (conexión o SQL):

Código PHP:
$SQLresult mysql_query($SQLquery,$SQLid) or die (mysql_error()); 
Un saludo,
  #3 (permalink)  
Antiguo 31/10/2005, 13:46
 
Fecha de Ingreso: agosto-2004
Ubicación: Argentina
Mensajes: 81
Antigüedad: 13 años, 4 meses
Puntos: 0
Encuesta

Cluster... no comprendo a lo que te refieres con "Vé" los mensajes de error.

Como no entiendo mucho del tema no comprendo donde puede estar el error, supongo que el código que descargué estaba probado y funcionaba.

Si me puedes decir cómo hago para descrubir el error te agradecería.

Saludos y gracias desde ya!
  #4 (permalink)  
Antiguo 31/10/2005, 18:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ya te lo indiqué ..

Que el código que "bajastes" funcione .. no depende de si mismo, .. fijate que usas Base de datos, que estos depende de la creación de esas tablas, de los datos correctos de conexión entre otros. Por eso, el uso de "mysql_error()" si lo usas como te he descrito en el ejemplo empezará a arrojar algún error de SQL o de conexión. Con ese mensaje de error, si no solventas tu mismo el problema, acude al foro (con el mensaje textual que obtienes) para orientarte al respecto.


Un saludo,
  #5 (permalink)  
Antiguo 23/03/2006, 18:27
Avatar de lalogaden  
Fecha de Ingreso: septiembre-2004
Mensajes: 43
Antigüedad: 13 años, 2 meses
Puntos: 0
Chek ke tus atributos de la BD (user, pass, host, dbname)sean iguales ke en Index.php

Mi estimado hermano cheka muy bien cuando creastes o importastes la base de datos al servidor y sobre todo ke es muy importante ke el nombre de usuario y contraseña (los atributos) le pusistes a la hora de subir o crear la base de datos ke muestra aki.

Bien acontinuación chekate ke cuando llamas desde tu archivo index.php, concuerde con los atributos de user, pass, dbname de tu base de datos.

Siempre ke veaz este error
Código PHP:
$SQLresult mysql_query($SQLquery,$SQLid) or die (mysql_error()); 
es para ke te pongas buzo en lo ke te comento yo y lo ke comento cluster.


SUERTE!!!!!
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 10:24.