Foros del Web » Programando para Internet » PHP »

problema con function

Estas en el tema de problema con function en el foro de PHP en Foros del Web. hola, en un archivo llamado usuarios.php tengo esto <LINK href="../miestilo.css" rel=stylesheet type=text/css> <?php // Llamamos al archivo de configuracion require("../configuracion.php"); // Elimar los Usuarios $Tabla_Usuarios ...
  #1 (permalink)  
Antiguo 07/10/2003, 13:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 139
Antigüedad: 14 años, 2 meses
Puntos: 0
problema con function

hola, en un archivo llamado usuarios.php tengo esto

<LINK href="../miestilo.css" rel=stylesheet type=text/css>
<?php
// Llamamos al archivo de configuracion
require("../configuracion.php");

// Elimar los Usuarios
$Tabla_Usuarios = mysql_query("SELECT * FROM Usuarios ORDER BY Nick", $Conexion);
$Numero_Usuarios = mysql_num_rows($Tabla_Usuarios);
$FilaActual = 0;
while ($FilaActual < $Numero_Usuarios) {
$NombreCuadro = "Eliminar".$FilaActual;
$a = $NombreCuadro;
$Nick = mysql_result($Tabla_Usuarios, $FilaActual, "nick");
if ($$a == "on") {
$sql=" DELETE FROM Usuarios WHERE nick='".$Nick."'";
mysql_query($sql, $Conexion);
}
++$FilaActual;
}

// Crear la Tabla de Usuarios
$Tabla_Usuarios = mysql_query("SELECT * FROM Usuarios ORDER BY Nick", $Conexion);
$Numero_Usuarios = mysql_num_rows($Tabla_Usuarios);
$FilaActual = 0;
echo "<div align='center'>";
echo "<form method='post' action='usuarios.php' onSubmit=\"return confirm('¿ Deseas eliminar los usuarios elegidos ?')\">";
echo "<table border =1 cellpadding=1 cellspacing=0>";
echo "</td>";
echo "<th>Nick</th>";
echo "<th>Correo</th>";
echo "<th>Categoria</th>";
echo "<th><input type=submit value=Eliminar></th>";
echo "</tr>";

while ($FilaActual < $Numero_Usuarios) {
$NombreCuadro = "Eliminar".$FilaActual;
$Nick = mysql_result($Tabla_Usuarios, $FilaActual, "nick");
$Correo = mysql_result($Tabla_Usuarios, $FilaActual, "correo");
$Categoria = mysql_result($Tabla_Usuarios, $FilaActual, "categoria");
++$FilaActual;
echo "<tr>";
echo "<td align=center>".$Nick."</td>";
echo "<td align=center>".$Correo."</td>";
echo "<td align=center>".$Categoria."</td>";
echo "<td align=center><input type=checkbox name=".$NombreCuadro." style='border: none'></td>";
echo "</tr>";
}
echo "</table>";
echo "</form>";
echo "</div>";
?>



esto hace que salga una tabla con los usuarios registrados y con un checkbox para seleccionar los usuarios y los elimine, cuando se pulsa submit se envia a si mismo otra vez y cuando se inicia se borra todo lo que se tiene que borrar... me funciona bien... pero queria ponerlo dentro de una funcion lo de borrar los usuarios poniendolo asi


<LINK href="../miestilo.css" rel=stylesheet type=text/css>

<?php

EliminarUsuarios();


function EliminarUsuarios() {
require("../configuracion.php");

// Elimar los Usuarios
$Tabla_Usuarios = mysql_query("SELECT * FROM Usuarios ORDER BY Nick", $Conexion);
$Numero_Usuarios = mysql_num_rows($Tabla_Usuarios);
$FilaActual = 0;
while ($FilaActual < $Numero_Usuarios) {
$NombreCuadro = "Eliminar".$FilaActual;
$a = $NombreCuadro;
$Nick = mysql_result($Tabla_Usuarios, $FilaActual, "nick");
if ($$a == "on") {
$sql=" DELETE FROM Usuarios WHERE nick='".$Nick."'";
mysql_query($sql, $Conexion);
}
++$FilaActual;
}
}


y no me borra nada (aqui no he puesto lo de la tabla pq ya lo he puesto arriba, y eso si me sigue funcionando despues de meterlo en una funcion) pero lo de eliminar los usuarios no... pq pasa eso?


nota: llamo a la funcion al principio, como si el codigo estubiera en el principio (manera que me funciona)... ayudadme!!!


gracias adelantadas :P
  #2 (permalink)  
Antiguo 07/10/2003, 13:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Fijate si a tu "funcion": EliminarUsuarios() le entran los valores de las variables que usas ..

Hay un término que se denomina "ambito de las variables" que no estás aplicacando correctamente.

Tienes variables como $Conexion .. $nick y otras más que NO las pasas como parámetros a la función y tampoco las declaras como globales .. así que, no están recibiendo sus valores para actuar - dentro- de tu función ...

Revisa este capítulo del manual de PHP:
http://www.php.net/variables.scope

Y este también:
http://www.php.net/manual/es/functions.arguments.php


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 07/10/2003 a las 13:53
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 08:14.