aqui tienes una solucion seria mejor que separaras los chistes por archivos
y en el codigo cuando llames a la variable archivo le pones haci
$archivo[$cat]
este es el codigo que modifique tiene algunos @ por que me arrojanban error con variables que parece que son de tu pagina
como en la parte donde dice atras no encuentro donde defines la varible pagina
y en la variable
menubar la cambie donde decia
if(!$menubar) {
$menubar="0";
}
la cambie por
if(!isset($menubar)) {
$menubar="";
}
aca esta el codigo editado
Código PHP:
<?php
$archivo= array(
"abogados" => "abogados.db",
"adivinanzas" => "adivinanzas.db",
"borrachos" => "borrachos.db",
"chistes picaros" => "chistes_picaros.db",
"clasificados" => "clasificados.db",
"colmos" => "colmos.db",
"como se dice" => "como_se_dice.db",
"computadores" => "computadores.db",
"feministas" => "feministas.db",
"gallegos" => "gallegos.db",
"historias" => "historias.db",
"mama, mama" => "mama_mama.db",
"no es lo mismo" => "no_es_lo_mismo.db",
"papa, papa" => "papa_papa.db",
"que le dijo" => "que_le_dijo.db",
"religiosos" => "religiosos.db",
"suegras" => "suegras.db",
"trabalenguas" => "trabalenguas.db",
"machistas" => "machistas.db",
"medicos" => "medicos.db",
"otros" => "otros.db");
$porpagina="15";
function chistes($cat) {
global $archivo;
$file = file($archivo[$cat]);
$x=0;
while(list(,$value) = each($file)){
list($categoria,$nombre,$chiste) = explode("|", $value);
if($categoria == $cat){
$x++;
}
}
if($x == 0) {
return "0 chistes";
} elseif($x == 1) {
return "1 chiste";
} elseif($x > 1) {
return "$x chistes";
}
}
function total_cat($cat) {
global $archivo;
$file = file($archivo[$cat]);
$x=0;
while(list(,$value) = each($file)){
list($categoria,$nombre,$chiste) = explode("|", $value);
if($categoria == $cat){
$x++;
}
}
return "$x";
}
if(@$load == "agregar") {
if(empty($_POST['nombre'])) {
echo "<center><font class=FONDOBLANCO size='2'>No agregaste tu nombre</center>";
}
elseif(empty($_POST['chiste'])) {
echo "<center><font class=FONDOBLANCO size='2'>No agregaste un chiste</center>";
}
elseif(empty($_POST['categoria'])) {
echo "<center><font class=FONDOBLANCO size='2'>Debes elegir una categoría para tu chiste</center>";
}
else {
$autor=$_POST['nombre'];
$categoria=$_POST['categoria'];
$chiste=$_POST['chiste'];
$chiste = ereg_replace("\r\n","<br>", $chiste);
$chiste = str_replace("|","|", $chiste);
$autor = str_replace("|","|", $autor);
$ordenado="$categoria|$autor|$chiste|\n";
$a1=fopen($archivo[$categoria], "a+");
flock($a1,2);
$fw=fwrite($a1, $ordenado);
fclose($a1);
echo "<font class=FONDOBLANCO>El chiste se agregó correctamente $autor, gracias por tu aporte<br>
<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=?load=ver&cat=$categoria\">";
}
}
elseif(@$load == "nuevo") {
echo<<<formularionuevo
<br><br>
<form action="?load=agregar" method="POST">
<table align=center width=90% border=0 cellpadding="2"
cellspacing="0">
<tr>
<td valign=top class=FONDOBLANCO>Tu Nombre:</td>
<td><input type=text name=nombre maxlength=30 size=20>
</tr>
<tr>
<td valign=top class=FONDOBLANCO>Chiste:</td>
<td><textarea name="chiste" cols=30 rows=6></textarea></td>
</tr>
<tr>
<td valign=top class=FONDOBLANCO>Categoria:</td>
<td><select size=1 name=categoria>
<option value="abogados">Abogados</option>
<option value="adivinanzas">Adivinanzas</option>
<option value="borrachos">Borrachos</option>
<option value="chistes picaros">Chistes Picaros</option>
<option value="clasificados">Clasificados</option>
<option value="colmos">Colmos</option>
<option value="como se dice">Como se dice</option>
<option value="computadores">Computadores</option>
<option value="feministas">Feministas</option>
<option value="Gallegos">Gallegos</option>
<option value="historias">Historias</option>
<option value="machistas">Machistas</option>
<option value="mama, mama">Mamá, mamá</option>
<option value="medicos">Médicos</option>
<option value="no es lo mismo">No es lo mismo</option>
<option value="papa papa">Papá, papá</option>
<option value="que le dijo">Qué le dijo</option>
<option value="religiosos">Religiosos</option>
<option value="suegras">Suegras</option>
<option value="trabalenguas">Trabalenguas</option>
<option value="otros">Otros</option>
</select>
</td>
</tr>
<tr>
<td width=100% colspan=2 align=center>
<br><input style='BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: 11px; BORDER-LEFT: black 1px solid; COLOR: black; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: verdana; BACKGROUND-COLOR: orange' type="submit" value=" Agregar Chiste "></td>
</tr>
</table>
<br><br>
formularionuevo;
}
elseif(@$load == "ver") {
$listar="si";
if(empty($_GET['cat'])) {
echo "<font class=FONDOBLANCO>No haz elegido una categoria";
$listar="no";
}
$chi="".total_cat($_GET['cat'])."";
if($chi == "0") {
echo "<font class=FONDOBLANCO>No hay chistes en esta seccion";
$listar="no";
}
if($listar == "no") {} else {
if(empty($_GET['pagina'])) {
$inicio=0;
$fin=$porpagina;
} else {
$inicio=$_GET['pagina'] * $porpagina;
$fin=$inicio + $porpagina;
}
$totalcat="".total_cat($_GET['cat'])."";
if($porpagina < $totalcat) {
$paginasson = $totalcat / $porpagina;
if(!isset($menubar)) {
$menubar="";
}
for($i = 0; $i < $paginasson; $i++) {
$menubar.="<a class=FONDOBLANCO href=?load=ver&cat=$cat&pagina=".$i.">". ( $i + 1 ) ."</a> \n";
}
}
$pagina = 0;
if( $pagina > 0 ) {
$atras="<a class=FONDOBLANCO href='?pagina=". ( $pagina - 1 ) ."'>Atras</a>";
} else {
$atras="Atras";
}
if( $fin < $totalcat ) {
$siguiente="<a class=FONDOBLANCO href='?pagina=". ( $pagina + 1 ) ."'>Siguiente</a>";
} else {
$siguiente="Siguiente";
}
$bd = file($archivo[$cat]);
$chistes = array_reverse($bd);
for ($i = $inicio; $i < count($chistes) AND $i < $fin; $i++) {
$dato = explode("|", $chistes[$i]);
if($dato[0] == $_GET['cat']) {
$categoria = $dato[0];
$autor = $dato[1];
$chiste =str_replace ("\\","",$dato[2]);
echo "<font class=FONDOBLANCO>$chiste</font><div align=right><font color='#0000ff' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Enviado por:</font></strong>
<font color='#006600' size='1' face='Verdana, Arial, Helvetica, sans-serif'>$autor</font></div>
<hr align=center size='1' color=#ff0000>";
}
}
echo "<font class=FONDOBLANCO><center>Paginas: $menubar</center><br>";
}
}
else {
echo "<br><font size='2' class=FONDOBLANCO><center>Cantidad de Chistes por categoría.</center><br><br>
<a class=FONDOBLANCO href='?load=ver&cat=abogados'>Abogados</a>
[ ".chistes('abogados')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=adivinanzas'>Adivinanzas</a>
[ ".chistes('adivinanzas')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=borrachos'>Borrachos</a>
[ ".chistes('borrachos')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=chistes picaros'>Chistes Picaros</a>
[ ".chistes('chistes picaros')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=clasificados'>Clasificados</a>
[ ".chistes('clasificados')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=colmos'>Colmos</a>
[ ".chistes('colmos')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=como se dice'>Como se dice</a>
[ ".chistes('como se dice')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=computadores'>Computadores</a>
[ ".chistes('computadores')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=feministas'>Feministas</a>
[ ".chistes('feministas')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=gallegos'>Gallegos</a>
[ ".chistes('gallegos')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=historias'>Historias</a>
[ ".chistes('historias')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=machistas'>Machistas</a>
[ ".chistes('machistas')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=mama, mama'>Mamá, Mamá</a>
[ ".chistes('mama, mama')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=medicos'>Médicos</a>
[ ".chistes('medicos')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=no es lo mismo'>No es lo mismo</a>
[ ".chistes('no es lo mismo')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=papa, papa'>Papá, papá</a>
[ ".chistes('papa, papa')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=que le dijo'>Qué le dijo</a>
[ ".chistes('que le dijo')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=religiosos'>Religiosos</a>
[ ".chistes('religiosos')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=suegras'>Suegras</a>
[ ".chistes('suegras')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=trabalenguas'>Trabalenguas</a>
[ ".chistes('trabalenguas')." ]<br>
<a class=FONDOBLANCO href='?load=ver&cat=otros'>Otros</a>
[ ".chistes('otros')." ]
<br><br>
<center><a class=FONDOBLANCO href='?load=nuevo'>Agregar Chiste</a></center>";
}
?>
lo que tendrias que hacer es poner cada chiste en su correspondiente archivo, los archivos que tienes que crear son los que aparecen arriba en el array
cuando una persona te envie un chiste automaticamente se va agregar al archivo segun categoria
salu2 ojala te sirva