25/02/2010, 08:08
|
|
Respuesta: Duda con clases en PHP ahora lo tengo todo correctamente, asi: index.php: Código PHP:
<html> <head> <title></title> </head> <body bgcolor=#336667 style="color:#ffffff"> <hr align=center> <table align=center width=100%> <td width=330><img src=Imagenes/imagen.jpg></td> <td> <h1>Biblioteca</h1> <p><u><b>Operaciones con los Ejemplares</b></u></p> <p><form action=index.php method=post> <div align=right><b>Buscar Ejemplar: </b><input type=text name=Buscar1><input type=hidden name=flag value=enviado><input type=submit value=Buscar></div> </form> <center> <form action=index.php method=post> <input type=Hidden name=Buscar2 value=Buscar2> <input type=Submit value="Ver Listado Completo de la Biblioteca"> </form> <form action=index.php method=post> <input type=Hidden name=Buscar3 value=Buscar3> <input type=Submit value="Ver Listado Completo de la Biblioteca Ordenado por Titulo"> </form> </center> </td> </table> <hr align=center> </body> </html> <?php $senal1 = $_POST['Buscar1']; $senal2 = $_POST['Buscar2']; $senal3 = $_POST['Buscar3']; $flag = $_POST[flag]; $tablas = 0; $upa = 0; if ($senal1 == '' && $flag!= ''){ echo "<div style='color:red;font-weight:bold' align=center>Introduce algo en el Buscador</div>"; exit; } require "biblioteca.php"; $libros = new biblioteca; //---------------------------------------------------------------------------------------------------------------BUSCADOR------------------------------------------------------------------------------------- if($senal1 != ''){ if ( eregi("^[a-z0-9_ ]+$", $senal1) ) { foreach ($libros as $i => $libritos){ $partes = explode(',',$libritos); foreach ($partes as $o){ if( preg_match("/$senal1/",$o)){ $tablas++; $upa++; if($upa == 1){ echo "<table border align=center style=color:green><th>Titulo</th><th>Autor</th><th>Editorial</th>";} if($tablas != 0){ while($tablas != 0){ $librillos = explode(',',$libros[$i]); echo "<tr> <td>$librillos[0]</td><td>$librillos[1]</td><td>$librillos[2]</td>"; $tablas = $tablas - 1;}} }}}}else{echo "Solo se permite Introducir numeros y letras en el Buscador"; exit;} echo "</table><br><center>El nº de ejemplares encontrados es: $upa</center>"; exit;} //---------------------------------------------------------------------------------------------------------------BUSCADOR------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------LISTADO COMPLETO----------------------------------------------------------------------------- if($senal2 != ''){ $contador = 0; if ($libros != ''){ echo "<table border align=center style=color:green><th>Titulo</th><th>Autor</th><th>Editorial</th>"; foreach ($libros as $i => $libritostos){ $contador++; $partes = explode(',',$libritostos); echo "<tr> <td>$partes[0]</td><td>$partes[1]</td><td>$partes[2]</td>";} echo "</table><br><center>El nº de ejemplares encontrados es: $contador</center>"; exit; }else{echo "<div style='color:red;font-weight:bold' align=center>No hay ejemplares de libros en el archivo incluido</div>";}} //---------------------------------------------------------------------------------------------------------LISTADO COMPLETO----------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------LISTADO ORDENADO----------------------------------------------------------------------------- if($senal3 != ''){ $contador = 0; if ($libros != ''){ echo "<table border align=center style=color:green><th>Titulo</th><th>Autor</th><th>Editorial</th>"; foreach ($libros as $i => $libritostos){ $contador++; $partes = explode(',',$libritostos); sort($partes[0]); echo "<tr> <td>$partes[0]</td><td>$partes[1]</td><td>$partes[2]</td>";} echo "</table><br><center>El nº de ejemplares encontrados es: $contador</center>"; exit; }else{echo "<div style='color:red;font-weight:bold' align=center>No hay ejemplares de libros en el archivo incluido</div>";} } //---------------------------------------------------------------------------------------------------------LISTADO ORDENADO----------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ?> biblioteca.php: Código PHP: <?php class biblioteca{ public $la_biblioteca = array(); function __construct(){ $this->la_biblioteca=array();} function rellenar(){ $this->la_biblioteca=array( 'libros1' => 'el medico,Noah Gordon,Time Warner', 'libros2' => 'marina,Carlos Ruiz Zafon,Edebé', 'libros3'=> 'la hoguera de las vanidades,Tom Wolfe,RBA Editores', 'libros4'=> 'el libro de las ilusiones,Paul Auster,Faber', 'libros5'=> 'la muerte en venecia,Michael Mann,Anaya', 'libros6'=> 'a sangre fria,Truman Capote,Ilusions', 'libros7'=> '2010: odisea en el espacio,Artur C.Clarke,P&J');} function __destruct(){ unset($this->la_biblioteca); } function __añadir($titulo,$autor,$editorial){ $siguiente = count($la_biblioteca) + 1; array_push($this->$la_biblioteca,"'".$titulo.",".$autor.",".$ejemplar."'"); } } ?> ______________________________
La cosa es que no me funciona ninguna de las acciones que quiero, es decir, buscar, ver todos, y ver todos ordenados
al intentar por ejemplo ver todos (senal2) me arroja este resultado: Titulo Autor Editorial
Array
El nº de ejemplares encontrados es: 1 |