Foros del Web » Programando para Internet » PHP »

modulo de inscripcion

Estas en el tema de modulo de inscripcion en el foro de PHP en Foros del Web. tengo un problema, que no logro iluminarme y solicito ayuda..., el tema es que tengo una DB con la siguiente estructura, desde la pagina del ...
  #1 (permalink)  
Antiguo 01/11/2012, 14:50
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
modulo de inscripcion

tengo un problema, que no logro iluminarme y solicito ayuda..., el tema es que tengo una DB con la siguiente estructura, desde la pagina del profesor hay un modulo que se llama inscripciones (donde se administra las inscripciones) y es donde visualiza la lista de alumnos (donde se ve el estado si ya esta inscrito y activa boton para retirar), si el alumno no esta inscrito activa el boton de registro.

  #2 (permalink)  
Antiguo 01/11/2012, 15:13
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

y el problema es?
  #3 (permalink)  
Antiguo 01/11/2012, 16:54
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: modulo de inscripcion

que me complico haciendo ese modulo, osea logrando hacer que muestre los alumnos inscritos y a su lado un botones para retirar o inscribir , (estando habilitado o deshabilitado) teniendo en cuenta cuenta si ya esta inscrito o no esta inscrito . quería el codigo
  #4 (permalink)  
Antiguo 01/11/2012, 16:59
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: modulo de inscripcion

en la tabla donde tienes a los alumnos crea un campo nuevo

nombre: activo - tipo: tynint - length: 1

a lo activo llenaras con valor 1 a los inactivos valor 0

cuando hagas tu consulta para activar el boton

if($activo == 1)[
echo <input type="submit" name="boton" value="retirar" />
} else {
echo <input type="submit" name="boton" value="inscribir" />
}
  #5 (permalink)  
Antiguo 01/11/2012, 18:59
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

aparte de que queda muy feo eso de "queria el código", no me metere mas ahí

la cuestión es que ese código cambiará mucho dependiendo del escenario en el que te encuentres

uno es mostrar una lista combinada de todos los usuarios y todos los cursos y otra mostrar una lista de todos los usuarios pero únicamente tratando un curso como si primero tuvieses una pantalla de cursos

cuanto mas concretes y menos pidas mejor te ayudará la gente por aqui ;)

y otra cosa que me inquieta es que las tablas que me muestras tienen toda la pinta de access, no se si estas utilizando eso por comodidad para mostrarlo o porque tu proyecto esta desarrollado en access que ahi la cosa cambia mucho
  #6 (permalink)  
Antiguo 01/11/2012, 19:48
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: modulo de inscripcion

pues no; sino que uso para modelar SQLyog Enterprise, pero no me sale la consulta que tengo que hacer ya que son dos características a la vez..
  #7 (permalink)  
Antiguo 01/11/2012, 19:56
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

Aahh vale no he dicho nada. Entonces lo que anadas buscando tiene que ver con consultas relacionadas usando inner join y on, googlea que te lo explicaran mejor que yo desde el movil ;)
  #8 (permalink)  
Antiguo 01/11/2012, 20:04
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

Y no he usado nunca sqylog asi que no se si valdra para esto, pero phpmyadmin para probar.consultas asi en bruto e ir haciendo pruebas para ver si te devuelven lo que quieres va muy bien
  #9 (permalink)  
Antiguo 01/11/2012, 21:14
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: modulo de inscripcion

Alguien que me de una mano, he tomado el principio que me han dicho, pero sale el siguiente error

Cita:
Parse error: syntax error, unexpected T_VARIABLE in E:\........\index.php on line 390
Pero realmente no logro encontrar la linea.

Código PHP:
$sql_ins = "SELECT usuarios.id, usuarios.apellidos, usuarios.apellidos FROM usuarios WHERE usuarios.nivel='alumno'";
                            $check_ins = mysql_query($sql_ins, $conn);
                            echo "<table width='600' border='1' cellspacing='0' cellpadding='0'>";
                            echo "  <tr>";
                            echo "    <td width='350'><strong>Alumno</strong></td>";
                            echo "    <td width='244'><strong>Operacion</strong></td>";
                            echo " </tr>";
                            while($rowins = mysql_fetch_array($check_lista4)) {
                            $_userid = $rowins['id'];
                            $_userap = $rowins['apellidos'];
                            $_userno = $rowins['nombre'];
                            
                            echo " <tr>";
                            echo "    <td>$_userap , $_userno</td>";
                            
                            $sql_ins2 = "SELECT COUNT(*) as y FROM inscripciones WHERE inscripciones.codalumno='$_userid' ";
                            $check_ins2 = mysql_query($sql_ins2);
                            $rowins2 = mysql_fetch_row$check_ins2);
                            $cantidad_ins2 = $rowins2['y'];
                            
                            echo "<td>";
                            if ($cantidad_ins2 == 0) {
                                ?> <a href=""><img width='12' height='12' src='images/edit.png'>INSCRIBIR</a> <?
                            
} else {
                                
?> <a href=""><img width='12' height='12' src='images/delete.png'>RETIRAR</a> <?
                            
}
                            echo 
"</td>";
                            echo 
"</tr>";
                            
                            }
                            echo 
"</table>";
  #10 (permalink)  
Antiguo 01/11/2012, 21:19
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: modulo de inscripcion

encontre el error en

$rowins2 = mysql_fetch_row$check_ins2);

le falta el (

pero aun asi sigue saliendo error

Cita:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\................\index.php on line 380
  #11 (permalink)  
Antiguo 02/11/2012, 06:23
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

por ahora aqui
$rowins2 = mysql_fetch_row$check_ins2);

falta abrir el parentesis
$rowins2 = mysql_fetch_row($check_ins2);
  #12 (permalink)  
Antiguo 02/11/2012, 06:25
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

mira mientras miraba te has adelantado XD
  #13 (permalink)  
Antiguo 02/11/2012, 06:26
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: modulo de inscripcion

pues quizas estes realizando una consulta que no le guste a mysql y devuelva un mysql_error()

si tienes a mano php my admin en el servidor sobre el qe trabajas accede a la base de datos y en la seccion sql prueba la consulta que estas realizando y asi descartas eso o lo afirmas
  #14 (permalink)  
Antiguo 02/11/2012, 08:43
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: modulo de inscripcion

porque en esta linea

while($rowins = mysql_fetch_array($check_lista4)) {

estas buscando $check_lista4 y no existe esa variable la ke existe es $check_ins

tambien en tu consulta mysql estas llamando dos veces a apellidos y depsues etsas pidiendo el nombre cuando haces el fetch imposible ke funcione

Porque usas el codigo html dentro de php es mas limpio optimo y eficiente por separados, y para ti seria mas facil leerlo.

porke usas el nombre de la tabla antes de la columna en sql si solamente estas tomando los datos de una sola tabla, haces trabajar mas al interprete.

Porque haces un count(*) en tu segunda consulta y depsues vuelves a repetir un count con mysql_fetch_row es doble trabajo si contastes una vez no hace falta hacerlo de nuevo.

Porque usaas el strong en cada cabecera de la tabla, es mejor ponerle una clase y en css decirle font-weight: bols y si en el futuro kieres cambiarlo color o bold solo tienes ke cambiar el valor de esa clase y ya esta.

porque nombras las variables con el _ delantes usualmente se hace para variables privadas dentro de una clase, se sigue ese estandar.

Bueno asqui te deje algunas preguntas para que tu mismo te vayas analizando tu codigo,

yo lo organizaria mas a esta forma. seprando el codigo html de php y si puedes mejor usar el patron MVC mucho mas comodo.

Código PHP:

<?php

    $datos 
= array();
    
    
$conn conectarse_base_de_datos();
    
    
$sql_ins "SELECT id, nombres, apellidos 
                FROM usuarios WHERE nivel = 'alumno'"
;
            
    
$check_ins mysql_query($sql_ins); 
                            
    while(
$rowins mysql_fetch_assoc($check_ins))
    {
        
$datos[] = $rowins;
    }                         
    
    function 
inscripciones($id)
    {
        
$sql_ins2 "SELECT coloumna_id FROM inscripciones WHERE codalumno = '$id'"
        
$check_ins2 mysql_query($sql_ins2);
        return 
mysql_fetch_row($check_ins2); 
    }
    
?>    

    <table width='600' border='1' cellspacing='0' cellpadding='0'> 
        <tr>
            <td width='350'><strong>Alumno</strong></td> 
            <td width='244'><strong>Operacion</strong></td>"; 
        </tr> 
            
        <tr> 
            <?php if(count($datos)): ?>
                
                <?php for($c 0$c count($datos); $c++): ?>
            
                    <td><?php echo $datos[$c]['apellidos'] . ', ' $datos[$c]['nombre']; ?></td>
                    
                    <?php if(inscripciones($datos[$c]['id'])): ?>
                    
                        <td><a href="#"><img width='12' height='12' src='images/delete.png'>RETIRAR</a></td>
                    
                    <?php else: ?>
                    
                        <td><a href="#"><img width='12' height='12' src='images/edit.png'>INSCRIBIR</a></td>
                    
                    <?php endif; ?>
                    
                <?php endfor; ?>
            
            <?php endif; ?>
        
        <tr>        
    </table>

Última edición por rolygc; 02/11/2012 a las 09:14

Etiquetas: inscripcion, modulo, registro
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 17:19.