Cita:
Iniciado por pateketrueke Caray, ¿de dónde has leído eso?
Esa función no sirve de nada (sólo agrega comillas a una variable), es una absoluta tontería, ¿tu problema es de comillas o arrays?
¿O acaso creías que agregando dicho código mágico se iba a corregir tu error?
Jamás había conocido a un programador tan creyente de la metafísica.
Entiende que tu problema se soluciona verificando que $clases exista, que no esté vacía, y que además sea un array.
Si no verificas eso entonces te dará error, si en algún otro punto de tu código modificas dicha variable y no cumple los requisitos te dará error de nuevo, etc.
¿No vas a mostrar el código real verdad?
jajaja comillas ammm ammm
este es el codigo que uso para elegir mis Meses
Código PHP:
mysql_select_db($database_connection, $connection);
$query_pagos=sprintf ("SELECT * FROM mensualidades Where periodo=%s ", GetSQLValueString($ID, "text"));
$ pagos = mysql_query($query_ pagos, $connection) or die(mysql_error());
echo "<h1>Meses</h1>";
echo "<form method=\"post\" action=\"comprobar_pagos.php\" >
<table>
<tr>
<td>Mes</td>
<td></td>
</tr>";
$filas = mysql_num_rows($pagos);
if($filas == 0){
echo "<tr>
<td colspan=6>No hay datos registrados.</td>
</tr>";
}else{
while($pagos 2 = mysql_fetch_array($pagos)){
echo "<tr>
<td>".$ pagos 2['Mes']."</td>
<td><input type=\"checkbox\" name=\"clases[]\" value=\"".$ pagos ['id_mensualidad']."\"></td>
</tr>";
}
echo "<tr>
<td>
<input type=\"submit\" value=\"Pagos realizados\">
</td>
</tr>";
}
echo "</table></form>";
?>
comprobar_pagos.php
Código PHP:
if ( !empty($_POST['clases']) && is_array($_POST['clases']))
{
foreach($clases as $clase){
$q_clase =($clase);
$query_precedente = "SELECT M.Mes FROM mensualidades AS M WHERE M.id_mensualidad= (SELECT MI.precede FROM mensualidades AS MI where MI.id_mensualidad= '$q_clase')";
$query_precedente_detalle = "SELECT M.Mes, M.precede FROM mensualidades AS M WHERE M.id_mensualidad = (SELECT MI.precede FROM mensualidades AS MI, mpagadas AS CI WHERE MI.id_ mensualidad = CI.id_ mensualidad = '$q_clase')";
$result_precedente = @mysql_query($query_precedente, $connection) or die(mysql_error());
$filas = @mysql_num_rows($result_precedente);
$tiene_precedente = true;
if($filas == 0){
$tiene_precedente = false;
}else{
$precedente = @mysql_fetch_array($result_precedente);
$mes= $precedente['Mes'];
$result_precedente_detalle = @mysql_query($query_precedente_detalle, $connection) or die(mysql_error());
$filas = @mysql_num_rows($result_precedente_detalle);
if($filas == 0){
$errores[$clase] = "No se a registrado el pago previo del Mes de: $mes";
}
}
$query_clase = "SELECT * from mensualidades WHERE id_ mensualidad = '$q_clase'";
$result_clase = @mysql_query($query_clase, $connection) or die(mysql_error());
$filas = @mysql_num_rows($result_clase);
if($filas != 0){
$clase = @mysql_fetch_array($result_clase);
$query_precedente_detalle = "SELECT M.Mes, M.precede FROM mensualidades AS M WHERE M.id_ mensualidad = (SELECT MI.precede FROM mensualidades AS MI, mpagadas AS CI WHERE MI.id_ mensualidad = CI.id_ mensualidad = '$q_clase')";
$result_precedente = @mysql_query($query_precedente, $connection) or die(mysql_error());
echo "<tr>
<td>".$clase['id_ mensualidad ']."</td>
<td>".$clase['Mes']."</td>
<td>".
$filas = mysql_num_rows($result_precedente);
$tiene_precedente = true;
if($filas == 0){
$tiene_precedente = false;
echo "<a href='agregar.php?id={$id_ mensualidad }&name={$Mes}' class='customButton'>";
echo "<img src='images/add-to-cart.png' title='Pagar' />";
}else{
$precedente = mysql_fetch_array($result_precedente);
$mes= $precedente['Mes'];
$result_precedente_detalle = mysql_query($query_precedente_detalle, $connection) or die(mysql_error());
$filas = mysql_num_rows($result_precedente_detalle);
if($filas == 0){
echo "<img src='images/cancel.png' title='Pagar' />";
}
}
"</td>
</tr>";
}else{
echo "<tr><td colspan=6>No seleccionó mes</td></td></tr>";
}
}
Como decia si hay un mes q no tenga precedente arroja el error... si selecciono uno con precedente no hay error