Autor Tema: [D] Placas, segun msj, agregadas mediante BD  (Leído 1079 veces)

Desconectado -RiPeRcOp-

  • PHPer@ Fijo
  • ***
  • Mensajes: 206
  • Karma: 7
  • Sexo: Masculino
  • RiPeR, The House`s assistant
    • Ver Perfil
    • RevolutionW
[D] Placas, segun msj, agregadas mediante BD
« en: 06 de Junio de 2007, 23:37:30 pm »
Bueno, eh creado, mi 1º Script, no desde 0 pero bastante completamente echo por mi, va no se, la cuestion es la siguiente, el Script que estoy creando o modificando realiza lo siguiente, mediante consulta a la BD, obtiene, la URL de la placas, el COD, y los msj que necesitas para tener el codigo de la placas, lo que sucede es lo siguiente, quiero que, cuando por ejemplo ponga lo siguiente:
Placas 1         IMG            MSJ       COD
Placa 100      http://...     100        FGhy78

quiero que, cuando hace la consulta a la BD obtenga los datos de que, si el usuarios tiene menor o =cantidad de msj que la que se necesita, no se le muestre el COD, en cambio si tiene mas pues entonces que le muestre el COD. Yo hice una Script, pero por alguna razon, aveces muestra el COD y aveces no, hasi tengas los msj o no. Quiero saber a que se deve esto. Aqui les dejo el COD: (No es pa que lo copien, es pa que me ayuden)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
</
head>

<
body>
</
body>
</
html>


<? 
include (
"conectar.php"); 
include(
"acceder.php"); 
///Ingresamos en la DB a la tabla "Usuarios"
$query "SELECT * FROM `usuarios` WHERE nick = &#39;".$nnick."&#39;";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
while (
$user = @mysql_fetch_array($resp)) { 
$mensajes $user[mensajes];
$usuario $user[nick];
}

///Ingresamos en la DB a la tabla "Placas Auto"
$query2 "SELECT * FROM `placas_auto`";
$resp2 = @mysql_query($query2);
$rows2 = @mysql_num_rows($resp2);
while (
$placas = @mysql_fetch_array($resp2)) { 
$id $placas[id];
$msj $placas[msj];
$imagen $placas[imagen];
$codigo $placas[codigo];
}

?>

<? include("acceder.php"); ?>
<table border="0" height=100% width="100%" bgcolor="#E8F3FD">
<tr>
<td align="center" class="Texto" valign="top">
<?

if (isset($_POST[&#39;censurar&#39;])) {
  
if ($_POST[&#39;codigo&#39;] != "" && $_POST[&#39;imagen&#39;] != ""&& $_POST[&#39;msj&#39;] != "") {
    
$id "";
    
$query "INSERT INTO `placas_auto` (id, codigo, imagen, msj) VALUES (&#39;".$id."&#39;, &#39;".$_POST[&#39;codigo&#39;]."&#39;, &#39;".$_POST[&#39;imagen&#39;]."&#39;, &#39;".$_POST[&#39;msj&#39;]."&#39;)";
	
@
mysql_query($query);
	
echo 
"<div align=center><font color=\"#cc0000\">Placa añadida</font><br><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a></div>";
  } else 
    echo 
"<font class=\"Texto\">Has dejado algún campo vacío<br></font><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a>";
} else if (isset(
$_POST[&#39;borrar&#39;])) {
$query "SELECT * FROM `placas_auto`";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);

if (!
$rows)
  echo 
"<font class=\"Texto\">No hay placas<br></font><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a>";
else {

if (!isset(
$_POST[&#39;palabra&#39;])) {
  
echo "<font class=\"Texto\">No has seleccionado ninguna placa<br></font><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a>";
} else {
	
$palabra $_POST[&#39;palabra&#39;];
	
$query "SELECT * FROM `placas_auto`";
	
$resp = @mysql_query($query);
    while (
$censura = @mysql_fetch_array($resp)) {
	
  
      if (
$palabra[$censura[&#39;id&#39;]] == "on") {
	
   
	
	
$query2 "DELETE FROM `placas_auto` WHERE id = &#39;".$censura[&#39;id&#39;]."&#39;";
	
	
	
@
mysql_query($query2);
	
	
}
    }

	
echo 
""._ERASEDWORD."<br><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a>";

        }
}
} else if (isset(
$_POST[&#39;todas&#39;])) {
	
	
$query "SELECT * FROM `placas_auto`";
	
	
$resp = @mysql_query($query);
	
	
$rows = @mysql_num_rows($resp);

	
	
if (!
$rows)
          echo 
"<font class=\"Texto\">No hay placas<br></font><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=\"EnlaceMenu\">"._RETURN."</a>";
        else {
	
	
	
$query "TRUNCATE TABLE `placas_auto`";
	
	
	
@
mysql_query($query);
	
       echo 
"Todas las placas han sido borradas<br><a href=\"panel.php?mostrar=placas_auto&".session_name()."=".session_id()."\" class=EnlaceMenu>"._RETURN."</a>";
        }
} else {
  
?>
<table border="0" cellpadding="2" cellspacing="0">
<? if ($_SESSION[&#39;iden&#39;] != "Bronze" && $_SESSION[&#39;iden&#39;] != "Zafiro") { ?>
<form name="form" method="post" action="panel.php?mostrar=placas_auto&<? echo session_name()."=".session_id() ?>">
<tr>
<td class="Texto" align="center" colspan="2"><font color="#cc0000">Control Placas</font></td>
</tr>
<tr>
<td class="Texto" align="center" colspan="2"></td>
</tr>
<tr>
<td class="Texto" align="center">Código: </td><td><input type="text" name="codigo" size="15" value="" class="Boton"></td>
</tr>
<tr>
<td class="Texto" align="center">Imagen(url): </td><td><input type="text" name="imagen" size="15" value="" class="Boton"></td>
</tr>
<tr>
<td class="Texto" align="center">Cantidad de Msj : </td><td><input type="text" name="msj" size="15" value="1" class="Boton"></td>
</tr>
<tr>
<td class="Texto" align="center" colspan="2"></td>
</tr>
<tr>
<td class="Texto" align="center" colspan="2"><input name="censurar" type="submit" value="Aceptar" class="Boton"></td>
</tr>
<? ?>
<tr>
<td class="Texto" align="center" colspan="2">&nbsp;</td>
</tr>
<tr>
<td class="Texto" align="center" colspan="2"><font color="#cc0000">Placas</font></td>
</tr>
<tr>
<td class="Texto" colspan="2" align="center">
<?
$query 
"SELECT * FROM `placas_auto` order by msj";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);

if (!
$rows)
  echo 
"<div align=center>"._NONE."</div>";
else {
echo 
"<table width=\"100%\">";
echo 
"<tr><td bgcolor=#6699cc></td><td class=\"Texto\" bgcolor=#6699cc>Imagen</td><td class=\"Texto\" bgcolor=#6699cc>Msj que necesitas</td><td class=\"Texto\" bgcolor=#6699cc>Codigo</td></tr>";
$n 0;
while (
$palabras = @mysql_fetch_array($resp))
while (
$placas = @mysql_fetch_array($resp)) {
	
if (
$_SESSION[&#39;iden&#39;] != "Bronze" && $_SESSION[&#39;iden&#39;] != "Zafiro")
	
echo 
"<tr><td class=\"Texto\" bgcolor=\"#E8F3FD\"><input type=checkbox name=palabra[".$placas[&#39;id&#39;]."]></td>";
	
echo 
"<td align=center class=\"Texto\" bgcolor=\"#E8F3FD\"><img src=\"".$placas[&#39;imagen&#39;]."\"></td>";
	
echo 
"<td class=Texto bgcolor=\"#E8F3FD\" align=center>".$placas[&#39;msj&#39;]."</td>";
	
if (
$msj >= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>".$placas[&#39;codigo&#39;]."</td>";
	
} else if (
$msj <= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>No tienes los mensajes requeridos.</td></tr>";
	

	

   
$n ++;
   }
echo 
"</table>";
}
?>  
</td>
</tr>
<? if ($_SESSION[&#39;iden&#39;] != "Bronze" && $_SESSION[&#39;iden&#39;] != "Zafiro") { ?>
<tr>
<td align="center" colspan="2">
<table cellpadding="1" cellspacing="0">
<tr>
<td><input type="submit" name="borrar" value="<?=_RESET?>" class="Boton"></td>
<td><input name="todas" value="<?=_ALL?>" class="Boton" type="submit"></td>
</tr>
</table>
</td>
</tr>
<? ?>
</form>
<tr>
<td colspan="2" align="center">
<a href="panel.php?<? echo session_name()."=".session_id() ?>" class="EnlaceMenu"><?=_RETURN?></a>
</td>
</tr>
</table>
<? ?>
</td>
</tr>
</table>

<script language="Javascript">
var vie=
parseFloat(navigator.appVersion.slice(navigator.appVersion.indexOf("MSIE")+4,navigator.appVersion.length));
function sinmenu()
{
event.cancelBubble = true;
event.returnValue = false;
return false;
}
function noclicderecho(e)

if (navigator.appName == &#39;Netscape&#39; && (e.which == 3 || e.which == 2)) return false;
else
if (navigator.appName == &#39;Microsoft Internet Explorer&#39; && (event.button == 2 || event.button == 3)) 

if (vie < 5) // -- para el IE4 -- \\
{
alert(&#39;Puedes personalizar este mensaje&#39;);
return false;
}
else
if (vie >= 5) // -- para el IE5 -- \\
{
document.oncontextmenu = sinmenu;
return false;
}
}
return true;

document.onmousedown=noclicderecho;

// -- Desabilita el clic derecho en las capas (layers) -- \\

if (document.layers)window.captureEvents(Event.MOUSEDOWN); 
window.onmousedown=noclicderecho;
</script>
<!--webbot bot="HTMLMarkup" endspan --><!--webbot bot="HTMLMarkup" startspan --><script language="JavaScript">
<!--

   function event_false() {
         window.event.returnValue = false
   }

document.onselectstart = event_false

//-->
</script><!--webbot bot="HTMLMarkup" endspan -->




En cuestion, el Script esta basado en el agregar smilies de Naveda, pero con algunas modificaciones que yo mismo eh echo. Saludos

PD: Dejo aqui la consulta SQL

Código: [Seleccionar]
-- Estructura de tabla para la tabla `placas_auto`
--

CREATE TABLE `placas_auto` (
  `id` int(11) NOT NULL auto_increment,
  `codigo` varchar(255) NOT NULL default '',
  `imagen` varchar(255) NOT NULL default '',
  `msj` varchar(255) NOT NULL,
  `mostrar` varchar(255) NOT NULL default '',
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

--
-- Volcar la base de datos para la tabla `placas_auto`
--

Comunidad PHPeros

[D] Placas, segun msj, agregadas mediante BD
« en: 06 de Junio de 2007, 23:37:30 pm »

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #1 en: 07 de Junio de 2007, 13:17:43 pm »
Pues mira... es bastante facil ponerle la placa segun la cantidad de mensajes que tiene.
# Se supone que hace la conexión a la base de datos donde tienes todos los usuarios con sus datos...

# Extraes los mensajes que tiene el usuario
$query mysql_query("SELECT * FROM `nombre_de_la_tabla` ORDER BY `id` DESC");
if(
mysql_num_rows($query)) {
while(
$mensajes mysql_fetch_array($query)) {

if(.
$mensajes[&#39;mensajes&#39;] <= 100){ #Comprovamos que si el usuario tiene menos de 100 o 100 mensajes

$placa Aqui_el_valor_de_la_placa_si_tiene_100_o_menos_mensajes

} else {

if... 
Asi todo el rato con todas la placas


Recuerda que deberia haver un campo en la base de datos con la cantidad de mensajes de cada usuario y cada vez que el usuario envie un mensaje, tu extraes el resultado, utilizas las matematicas en variables para sumarle uno y volver a subirlo ;)

Espero haver servido de ayuda ;)
« Última modificación: 07 de Junio de 2007, 13:19:29 pm por G2K »
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado -RiPeRcOp-

  • PHPer@ Fijo
  • ***
  • Mensajes: 206
  • Karma: 7
  • Sexo: Masculino
  • RiPeR, The House`s assistant
    • Ver Perfil
    • RevolutionW
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #2 en: 07 de Junio de 2007, 21:31:26 pm »
Pero no es eso esactamente lo que yo quiero hacer, yo quiero que el Web-Master que coloque este sistema en su MC, pueda agregar placas desde un formulario, es decir, si un dia quiere agregar una placas que necesites 100 msj, aparesca en el panel como cualquier placa, pero, si tienes los msj que se necesitan. Es esactamente lo mismo que tu me hicistes hasi, pero la cuestion es que lo haga mediante BD

El pricipal codigo que hay que editar es este:

<tr>
<
td class="Texto" colspan="2" align="center">
<?
$query "SELECT * FROM `placas_auto` order by msj";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);

if (!
$rows)
  echo 
"<div align=center>"._NONE."</div>";
else {
echo 
"<table width=\"100%\">";
echo 
"<tr><td bgcolor=#6699cc></td><td class=\"Texto\" bgcolor=#6699cc>Imagen</td><td class=\"Texto\" bgcolor=#6699cc>Msj que necesitas</td><td class=\"Texto\" bgcolor=#6699cc>Codigo</td></tr>";
$n 0;
while (
$palabras = @mysql_fetch_array($resp))
while (
$placas = @mysql_fetch_array($resp)) {

	


if (
$_SESSION[&#39;iden&#39;] != "Bronze" && $_SESSION[&#39;iden&#39;] != "Zafiro")

	


echo 
"<tr><td class=\"Texto\" bgcolor=\"#E8F3FD\"><input type=checkbox name=palabra[".$placas[&#39;id&#39;]."]></td>";

	


echo 
"<td align=center class=\"Texto\" bgcolor=\"#E8F3FD\"><img src=\"".$placas[&#39;imagen&#39;]."\"></td>";

	


echo 
"<td class=Texto bgcolor=\"#E8F3FD\" align=center>".$placas[&#39;msj&#39;]."</td>";

	


if (
$msj >= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>".$placas[&#39;codigo&#39;]."</td>";

	


} else if (
$msj <= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>No tienes los mensajes requeridos.</td></tr>";

	


}

	



   
$n ++;
   }
echo 
"</table>";
}
?>  
</td>
</tr>


Y esto es un poco mas especifico.

 if ($msj >= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>".$placas[&#39;codigo&#39;]."</td>";

	


} else if (
$msj <= $mensajes){ echo "<td class=Texto bgcolor=\"#E8F3FD\" align=center>No tienes los mensajes requeridos.</td></tr>";

	


}


No se si no se entiende la explicacion pues, no se como mas explicarlo. Saludos

PD: la tabla se llama placas_auto

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #3 en: 07 de Junio de 2007, 21:48:27 pm »
Parece estar bien :P
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado -RiPeRcOp-

  • PHPer@ Fijo
  • ***
  • Mensajes: 206
  • Karma: 7
  • Sexo: Masculino
  • RiPeR, The House`s assistant
    • Ver Perfil
    • RevolutionW
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #4 en: 07 de Junio de 2007, 22:12:22 pm »
Eso aparenta, lo que sucede es lo siguiente, cuando en el panel agregar una placas de 100 msj, y yo tengo 150 el codigo aparece lo mas bien, pero si agrego una placa mas de 200 msj, no aparece el cod de esa msj, pero tmp el de la otra placa, y si despues agrego una de 10 msj, aparecen los CODs de todas las placas, no se a que se deve. Saludos

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #5 en: 07 de Junio de 2007, 22:44:26 pm »
Eso aparenta, lo que sucede es lo siguiente, cuando en el panel agregar una placas de 100 msj, y yo tengo 150 el codigo aparece lo mas bien, pero si agrego una placa mas de 200 msj, no aparece el cod de esa msj, pero tmp el de la otra placa, y si despues agrego una de 10 msj, aparecen los CODs de todas las placas, no se a que se deve. Saludos
Pues nose... pero yo sinceramente prefiero hacerlo manual... ya que no se actualiza muy a menudo sino cuando quieres cambiar placas y tal...
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011


Desconectado -RiPeRcOp-

  • PHPer@ Fijo
  • ***
  • Mensajes: 206
  • Karma: 7
  • Sexo: Masculino
  • RiPeR, The House`s assistant
    • Ver Perfil
    • RevolutionW
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #6 en: 08 de Junio de 2007, 00:21:25 am »
Enrealidad, no lo hice como una utilidad necesaria, sino que lo hice para poder practicar con algo, pero no se como solucionar eso xD. Saludos

Desconectado G2K

  • Moderador de Programación General
  • PHPero Master
  • ****
  • Mensajes: 2.245
  • Karma: 76
  • Sexo: Masculino
  • Dame un punto de apoyo y moveré la Tierra
    • Ver Perfil
    • Cristian Torrijos
Re: [D] Placas, segun msj, agregadas mediante BD
« Respuesta #7 en: 08 de Junio de 2007, 14:49:00 pm »
Enrealidad, no lo hice como una utilidad necesaria, sino que lo hice para poder practicar con algo, pero no se como solucionar eso xD. Saludos
Te ayudaria pero vamos yo creo que la forma de calentarte menos la cabeza es hacerlo a mano ;)
Campeón del CatSkills de Webs (Enero 2011)
Campeón del SpainSkills de Webs (Abril 2011)
http://www.youtube.com/watch?v=1fBMG8F_hpM
Mejor representante catalan en SpainSkills 2011