PHP - Ayuda con Notice: Undefined offset

 
Vista:

Ayuda con Notice: Undefined offset

Publicado por Matías (12 intervenciones) el 11/02/2008 19:32:00
Hola a todos, estoy intentando hacer andar un scrip en php bajp iis y mssql, me esta pasando lo siguiente y no se a que se deba, este codigo:

$sql_lista="Select * from turnos order by codigo";
$rs_lista=mssql_query($sql_lista,$coneccion);
$row_rs_lista=mssql_fetch_assoc($rs_lista);
$i=0;
$ok=true;
do{
if($item[$i]=="s")
{
$delete="Delete from turnos where codigo=".$row_rs_lista['codigo'];
if(!mssql_query($delete,$coneccion))
{
$ok=false;
}
}
$i++;
}while($row_rs_lista=mssql_fetch_assoc($rs_lista));

al ejecutarlo me da este error:
Notice: Undefined offset: 2 in c:inetpubwwwrootmasaalta_turnos.php on line 205

alguien puede darme solucion? no entiendo por que los $i distintos a "s" (ver algoritmo arriba) me pierden el indice ??? Por favor si a alguien le ha pasado que me cuente como solucionarlo. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Notice: Undefined offset

Publicado por WEBNESS (73 intervenciones) el 11/02/2008 21:44:06
Amigo Mio, me atrevo a decir que tu algoritmo esta malo, pues haces referencia a $item[$i], ahi es el errot

En ningun lado veo donde llenas el array previamente, por lo tanto, para 0 existe, pero para el resto no, es mas, primero debes verificar que item, tenga la misma cantidad de elementos que tu query retorna.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Notice: Undefined offset

Publicado por Matías (12 intervenciones) el 11/02/2008 23:11:34
Muchas gracias por responder, el algoritmo no esta malo, lo que pasa es que lo envie incompleto, este es todo el codigo, y ahi te vas a dar cuenta que uso el $item[$i] para evaluar el estado de unos check que genero dinamicamente, luego lo que quiero es que al marcar un check me lo elimine al reenviar la pagina. Gracias nuevamente y espero puedas darme una mano.

include("coneccion.php");
$coneccion=mssql_connect($host_db,$usuario_db,$pass_db);
mssql_select_db($base_db,$coneccion);

$sql_lista="Select * from turnos order by codigo";
$rs_lista=mssql_query($sql_lista,$coneccion);
$row_rs_lista=mssql_fetch_assoc($rs_lista);

if($REQUEST_METHOD!="POST")
{
<form id="form2" name="form2" method="post" action="alta_turnos.php?op=eliminar">
<table width="50%" border="1" cellspacing="3">
<tr>
<td width="8%"> </td>
<td width="55%"><div align="center">Descripción</div></td>
<td width="22%"> </td>
</tr>
<?
$i=0;
do{
?>
<tr>
<td><div align="center">
<label>
<input type="checkbox" name="<? echo "item[".$i."]";?>" value="s" id="<? echo "item[".$i."]"; ?>" />
</label>
</div></td>
<td><? echo $row_rs_lista['descripcion'];?></td>
<td><div align="center"><a href="alta_turnos.php?turno=<? echo $row_rs_lista['codigo'];?>&op=modificar">modificar</a></div></td>
</tr>
<?
$i++;
}while($row_rs_lista=mssql_fetch_assoc($rs_lista));
?>
</table>
<p>
<label>
<input type="submit" name="Submit2" value="Eliminar" />
</label>
</p>
</form>
}// end if (REQUEST_METHOD)
else
{
$sql_lista="Select * from turnos order by codigo";
$rs_lista=mssql_query($sql_lista,$coneccion);
$row_rs_lista=mssql_fetch_assoc($rs_lista);
$i=0;
$ok=true;
do{
if($item[$i]=="s")
{
/* $delete="Delete from turnos where codigo=".$row_rs_lista['codigo'];
if(!mssql_query($delete,$coneccion))
{
$ok=false;
}
*/ }
$i++;
}while($row_rs_lista=mssql_fetch_assoc($rs_lista));

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar