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:
2º. "index.php": Aquí les mando el 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;
Código:
3º. "encuesta.php": Último archivo, aquí va el 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é método utilizarí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édito <? echo $SQLrow[2]?></label> <br> <label> <input type="radio" name="voto" value="2"> Pago con Sistema Pago Fá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ón</a></font></div>
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é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á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ó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.