Foros del Web » Programando para Internet » PHP »

Novato PHP

Estas en el tema de Novato PHP en el foro de PHP en Foros del Web. Como estan, son nuevo en php y estoy tratando de aprenderlo, espero que me puedan ayudar en mis dudas Bueno mi problema es este : ...
  #1 (permalink)  
Antiguo 30/07/2003, 02:51
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Novato PHP

Como estan, son nuevo en php y estoy tratando de aprenderlo, espero que me puedan ayudar en mis dudas

Bueno mi problema es este :

Tengo una pagina index.php que filtro mediante date, es decir
index.php?date=2003/07/30 por ejemplo, me va bien todo, pero lo que pasa es que cuando yo cargo la pagina no tiene un valor date solo carga el index.php y por lo tanto no muestra ningun resultado. Quisiera saber como hacer para tener uno predeterminado con la fecha de hoy, lo intente con una variable date asi $date=date(Y/m/d) pero no me lo filtra.

Espero sus comentarios para que me ayuden.

Gracias de antemano
  #2 (permalink)  
Antiguo 30/07/2003, 03:17
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
Prueba asi
Código PHP:
$date date("Y-m-d"); 
recuerda que en mysql los años dias y meses se separan con - no con /

Un Saludo
  #3 (permalink)  
Antiguo 30/07/2003, 03:21
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
se me olvido para que si entra directamaente haga una cosa o otra puedes hacer lo siguiente


Código PHP:

if (!isset($_GET['date'])){//si no viene date pro get
$date date("Y-m-d");//asignamos la fecha de hoy
}
else{
//si no
$date=$_GET['date'];//recogemos el valor de date pro metodo get y lo metemos en el variable date
}
//aqui vendria tu consulta 
  #4 (permalink)  
Antiguo 30/07/2003, 04:19
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Variable Date

Gracias por tu ayuda,

Probe lo que me dijiste, y me sigue sin funcionar, el valor del get es asignado a la variable, y si es nulo le asigna el valor Y-m-d pero no filtra los datos. Tengo que poner index.php?date=2003-07-30 para poder filtrar.
Tengo las variables global en off, porque uso php 4.3 no se si eso tenga que ver, pero te lo menciono.
Si tiene que ver eso, agradeceria que me digas como ponerlas on, gracias de nuevo.
  #5 (permalink)  
Antiguo 30/07/2003, 04:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Despues del codigo de DINASEN haz un echo $date; para ver el valor. Prueba pasandole como parametro la fecha de hoy y sin psarle ninguna. Deberia mostrarte el mismo valor. Y si muestra el mismo valor, la consulta deberia funcionarte igual.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 30/07/2003, 04:33
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Hola josemi,

Si probe con el echo y el valor de $date cambia. El problema es que no filtra, tengo que seguir haciendolo desde index.php?date=2003-07-30
  #7 (permalink)  
Antiguo 30/07/2003, 04:40
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
¿Quieres decir que no te muestra el mismo valor si pasas 2003-07-30 que si no pasas nada? Que extraño. ¿Y que valor muestra cuando no pasas nada?
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 30/07/2003, 04:52
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
date

Crees que tenga que ver con el globals off, si es asi ,como lo cambio a on ?
  #9 (permalink)  
Antiguo 30/07/2003, 05:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
El register_globals no tendria nada que ver, ya que es para acceder a los parametros sin necesidad de usar los arrays superglobales ($_GET, $_POST, ...). Pero si dices que lee perfectamente el parametro, no creo que sea ese el problema.

Lo que no se es si me has dicho que es lo que te muestra el echo $date; cuando no le pasas parametros. ¿Es el 'date' que has puesto como titulo? Porque si es asi, es muuuuuuuyyyyyy raro. Pon el codigo exacto que usas, incluida la consulta.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 30/07/2003 a las 05:06
  #10 (permalink)  
Antiguo 30/07/2003, 05:07
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
mmmm.. con register en off tambien funciona asiq ue el problema esta en la sentencia sql casi seguro..

si tu pones echo $date no te muesta nada en ninguno de lso dos casos

Un Saludo
  #11 (permalink)  
Antiguo 30/07/2003, 05:09
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
codigo

<?php
if (!isset($_GET['date']))
{
$date=date("Y-m-d");
}
?>
  #12 (permalink)  
Antiguo 30/07/2003, 05:15
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pero eso es solo si no existe la fecha en get, por favor pon esto mas la consulta, pra ver si estael error hay sino sera imposible averiguarlo
has echo un echo $date?¿

Un Saludo
  #13 (permalink)  
Antiguo 30/07/2003, 05:16
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
¿Y la consulta? Tambien te falta asignar en el else a $date el valor del GET. Porque debes asignarle un valor, ya que luego en la consulta usas $date en el where, ¿verdad? (terrible duda).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 30/07/2003, 05:27
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
jejejeje esto es mas grande que roma...jejejeje

ayudanos que solo intentamos ayudarte pero no somos adivinos...ejejjejee

Un Saludo
  #15 (permalink)  
Antiguo 30/07/2003, 05:32
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Aca les mando todo el codigo

<?
// begin Recordset
$colname__noticias = '1';
if (isset($HTTP_GET_VARS['date'])) {
$colname__noticias = $HTTP_GET_VARS['date'];
}
$query_noticias = sprintf("SELECT * FROM noticias WHERE Fecha = '%s' ORDER BY Fecha DESC", $colname__noticias);
$noticias = $pruebas->SelectLimit($query_noticias) or die($pruebas->ErrorMsg());
$totalRows_noticias = $noticias->RecordCount();
// end Recordset
?>

<?php
if (!isset($_GET['date'])){
$date=date("Y-m-d");
}
else{
$date=$_GET['date'];
}
?>

<?php
while (!$noticias->EOF) {
?>
<tr>
<td><?php echo $noticias->Fields('Noticia'); ?></td>
<td>n</td>
</tr>
<?php
$noticias->MoveNext();
}
?>

<?php
$noticias->Close();
?>

Ese es el codigo principal, plz espero sugerencias
  #16 (permalink)  
Antiguo 30/07/2003, 05:35
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
pro parte primero lo coloreamos

Código PHP:
<?
// begin Recordset
$colname__noticias '1';
if (isset(
$HTTP_GET_VARS['date'])) {
$colname__noticias $HTTP_GET_VARS['date'];
}
$query_noticias sprintf("SELECT * FROM noticias WHERE Fecha = '%s' ORDER BY Fecha DESC"$colname__noticias);
$noticias $pruebas->SelectLimit($query_noticias) or die($pruebas->ErrorMsg());
$totalRows_noticias $noticias->RecordCount();
// end Recordset
?>

<?php
if (!isset($_GET['date'])){
$date=date("Y-m-d");
}
else{
$date=$_GET['date'];
}
?>

<?php
while (!$noticias->EOF) {
?>
<tr> 
<td><?php echo $noticias->Fields('Noticia'); ?></td>
<td>n</td>
</tr>
<?php
$noticias
->MoveNext();
}
?>

<?php
$noticias
->Close();
?>
  #17 (permalink)  
Antiguo 30/07/2003, 05:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Esto, ¿como quieres que te "filtre" por el valor del date() si realizas la consulta ANTES de obtener el valor? Haz algo asi:
Código PHP:
<?
// begin Recordset
$colname__noticias date("Y-m-d");
if (isset(
$HTTP_GET_VARS['date'])) {
$colname__noticias $HTTP_GET_VARS['date'];
}
$query_noticias sprintf("SELECT * FROM noticias WHERE Fecha = '%s' ORDER BY Fecha DESC"$colname__noticias);
$noticias $pruebas->SelectLimit($query_noticias) or die($pruebas->ErrorMsg());
$totalRows_noticias $noticias->RecordCount();
// end Recordset
?>

<?php
while (!$noticias->EOF) {
?>
<tr> 
<td><?php echo $noticias->Fields('Noticia'); ?></td>
<td>n</td>
</tr>
<?php
$noticias
->MoveNext();
}
?>

<?php
$noticias
->Close();
?>
Sin mas. Ya lo tenias hecho, lo que pasa es que ponias como valor por defecto '1', no la fecha actual. Siempre que uses el copipasteo, procura entender el codigo que pegas. Ya ves que si hubieras entendido que esa linea era la que asignaba el valor por defecto, tu unica duda seria como obtener la fecha actual.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #18 (permalink)  
Antiguo 30/07/2003, 05:39
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
bueno yo lo dejaria asi

Código PHP:

<?

if (!isset($_GET['date'])){
$colname__noticias("Y-m-d");
}
else{
$colname__noticias=$_GET['date'];
}


$query_noticias sprintf("SELECT * FROM noticias WHERE Fecha = '%s' ORDER BY Fecha DESC"$colname__noticias);
$noticias $pruebas->SelectLimit($query_noticias) or die($pruebas->ErrorMsg());
$totalRows_noticias $noticias->RecordCount();

while (!
$noticias->EOF) {
?>
<tr> 
<td><?php echo $noticias->Fields('Noticia'); ?></td>
<td>n</td>
</tr>
<?php
$noticias
->MoveNext();
}

$noticias->Close();
?>
Un Saludo
  #19 (permalink)  
Antiguo 30/07/2003, 06:04
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Gracias

Agradezco mucho su paciencia,

Disculpen lo que sucede es que soy muy novato y uso el phakt con dreamweaver mx para realizar algunos scripts.
A la hora que yo le asignaba el valor por default me lo pone asi
$colname__noticias = 'date("Y-m-d")';
y no puedo quitarle esos ' ' por nada.
Si lo quito desde el codigo fuente se borra el recorset y los behaviors y no puedo usar elementos dinamicos.

Hay forma de hacerlo ?

Gracias por su ayuda, me a servidor mucho. Todo esto es porque estoy haciendo una nueva version de mi site www.beltis.com la estoy pasando a PHP con MySQL.
  #20 (permalink)  
Antiguo 30/07/2003, 06:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Pues vaya m... el dreamweaver. Si ya no puedes editar a mano el codigo sin que se le cruzen los cables, dime tu para que sirve. ¿Puedes asignarle una variable, o tambien te la pone con comillas simples '? Porque si por lo menos te deja poner una variable, podrias hacer:
Código PHP:
<?
$temp
=date("Y-m-d");
// begin Recordset
$colname__noticias $temp// o "$temp"
if (isset($HTTP_GET_VARS['date'])) {
$colname__noticias $HTTP_GET_VARS['date'];
}
$query_noticias sprintf("SELECT * FROM noticias WHERE Fecha = '%s' ORDER BY Fecha DESC"$colname__noticias);
$noticias $pruebas->SelectLimit($query_noticias) or die($pruebas->ErrorMsg());
$totalRows_noticias $noticias->RecordCount();
// end Recordset
?>
En fin, no se que mas se puede hacer. Yo como no diseño, solo programo no "dependo" de dreamweaver. Y aunque lo usara como editor PHP, no haria uso de sus "asistentes" de codigo (como supongo que sera el caso). Supongo que estara bien para el que no quiere (o no puede) aprender PHP y quiere usar esa coleccion de scripts que vendran con DW. Aunque tambien los javascripts que genera DW me parecen malos (los famosos MM_). Pero bueno, reconozco que para alguien puede ser util usarlo.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #21 (permalink)  
Antiguo 30/07/2003, 14:24
Avatar de tux
tux
Usuario no validado
 
Fecha de Ingreso: marzo-2003
Ubicación: Internet
Mensajes: 52
Antigüedad: 14 años, 8 meses
Puntos: 0
Gracias

Agradezco mucho tu ayuda, tienes razon los codigos del DW no son 100% buenos, pero al menos me ayuda.
Yo no manejo mucho PHP, yo mas que todo uso ASP y diseño, pero estoy entrandole porque me agrada, me ayudo con los behaviors de MX hasta que lo aprenda al 100%, de nuevo gracias.
Y me vas a ver seguido por aca, haciendo preguntas.

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 19:48.