Foro oficial de PHP

bueno pues el link que dan no he podido descargar nada, eso me pide que instale unas barras y un programa y aqui donde estoy por politicas de seguridad no se puede instalar ese tipo de cosas, como se puede descargar ese archivo de ajax y php
 
en que se pueden generar reportes en PHP...osea como un crystal report de ASP ó el Ireport de JAVA
hay alguna herramienta...cual es ?
 
Queridos Laneros

Estoy haciendo una pagina pero tengo un pequeño problema

Cree una base de datos para subir una informacion que luego a travez de una busqueda necesito mostrar.

El Problema esta en que cuando cargo los datos en por phpMyAdmin se cargan de forma correcta pero cuando intento con un script de PHP me crea la fila en la base de datos pero en blanco.... Y si trato de cargar cualquier otra info me da este error Could not insert data because Duplicate entry '' for key 1 Hasta que coloque los datos correctos en la BD

Este es el codigo que uso

PHP:
<?php

include "Config.php";

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

// insert data into database
$insert = mysql_query("insert into $table values ('$id', '$Departure', '$Arrival', '$Route', '$Airliner')", $link)
or die("Could not insert data because ".mysql_error());

mysql_close();


Y este al Form en el que coloco los datos


Código:
<form action="Include.php" method="post">
<table width="286" border="1" bordercolor="#FFFFFF">
 <tr>
 <td width="36"><span class="Estilo1">Flight ID</span></td>
 <td width="36"><input type="text" name="id" size="6" maxlength="4"></td>
 <td width="55" class="Estilo1">Departure</td>
 <td width="41"><input type="text" name="Departure" size="6" maxlength="4"></td>
 <td width="39" class="Estilo1">Arrival</td>
 <td width="40" class="Estilo1"><input type="text" name="Arrival" size="6" maxlength="4">
</td>
 </tr>
 <tr>
 <td class="Estilo1">Airliner</td>
 <td colspan="5"><input type="text" name="Airliner" size="40" ></td>
 </tr>
 <tr>
 <td class="Estilo1">Route</td>
 <td colspan="5"><input type="text" name="Route" size="40" ></td>
 </tr>
 <tr>
 <td colspan="6" class="Estilo1"><div align="center">
 <input type="submit" name="submit" value="Submit">
 </div>
</td>
 </tr>
  </table>
  </form>
Alguna idea necesito cargar mas de 2300 filas y la idea de crear el Script es poder dividir el trabajo entre varias personas....

Gracias
 
El Problema esta en que cuando cargo los datos en por phpMyAdmin se cargan de forma correcta pero cuando intento con un script de PHP me crea la fila en la base de datos pero en blanco.... Y si trato de cargar cualquier otra info me da este error Could not insert data because Duplicate entry '' for key 1 Hasta que coloque los datos correctos en la BD

Alguna idea necesito cargar mas de 2300 filas y la idea de crear el Script es poder dividir el trabajo entre varias personas....

Gracias

donde sale el [$id]???
si el valor del campo ID o PRIMARY_KEY es autonumerico puedes obtener el ultimo valor con LAST_INSERTID() o puedes no cargarlos para insercion asi Mysql te asignara uno atomaticamente.
si no es asi, tienes que hacer una consulta como SELECT (MAX(ID) + 1 ) AS 'ultimo' FROM $table.
yo te recomendaria bajar los archivos a una hoja de calculo y despues importarlos como Archivo Delimitado.
 
donde sale el [$id]???
si el valor del campo ID o PRIMARY_KEY es autonumerico puedes obtener el ultimo valor con LAST_INSERTID() o puedes no cargarlos para insercion asi Mysql te asignara uno atomaticamente.
si no es asi, tienes que hacer una consulta como SELECT (MAX(ID) + 1 ) AS 'ultimo' FROM $table.
yo te recomendaria bajar los archivos a una hoja de calculo y despues importarlos como Archivo Delimitado.


El valor de ID tambien tiene que ser ingresado manualmente no automaticamente...

El codigo que me das espara consulta pero ese no es el problema que tengo (al menos por ahora) mi pobrelma es que no me aparecen los datos en la tabla...

Table.jpg


Como pueden ver la ultima fila sale en blanco... ese es el problema y hasta que no carge los datos de forma manual en la db no puedo tratar de cargar mas datos por que me da error

Could not insert data because Duplicate entry '' for key 1
 
:p Ya logre solventar el error y fue una falla en el codigo php me falto una parte...

PHP:
$id = $_POST['id'];
$Departure = $_POST['Departure'];
$Arrival = $_POST['Arrival'];
$Airliner = $_POST['Airliner'];
$Route = $_POST['Route'];

Y era incluir la data del Form en el Php....

Error de novatos... :p
 
Bien sabia que esto iba a pasar.....

Estoy haciendo una busqueda en la db

PHP:
$Departure = $_POST['Departure'];
$Airliner = $_POST['Airliner'];

$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  

echo "$result";
Si ven algun error que haya que corregir...?

La busqueda en si no me arroja ningun error pero no logro hacer que me muestre los datos de la busqueda(La pagina sale en blanco)... Y quiero que los muestre en una tabla


Disculpen tanta preguntadera pero ando :muerto: con esto...
 
ombe G3r84 pues vea:
1. mysql_query devuelve es un "puntero" que tienes que pasar como argumento a la funcion fetch que escojas y es la que te arroja los registros devueltos. Entonces para su caso sería:
PHP:
$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
$i=0;
while($tmp=mysql_fetch_assoc($result))
        $acum[$i++]=$tmp;

print_r($acum);//solo para mostrar que si funca, toca que trabaje con $acum para formar la tabla y todo eso
2.no se que clase de campo sea Departure , si es texto un LIKE le va mejor en el WHERE.
suerte
 
Les hago una consulta.
Resulta que tengo mi pagina de logueo, y no logro hacer, que cuando una se loguea, aparezca su nombre de usuario en la pagina.
Algo parecido a como aparece en LAneros.

Alguien me podría orientar?
Ya lo intente con:
echo "Bienvenido $_Post[usuario]"

Pero siempre me lo imprime arriba y a la izquierda.
 
Post & get

Hola a todos, tengo el siguiente problemita:

Tengo unas variables donde capturo los datos de un formulario POST de otra página.
$codunicorad=$_POST['txtcodunicorad']; (Y otras más...)

Estas variables las imprimo en pantalla para que el usuario pueda verificar los datos que ingresó.

Después de que el usuario verifica estos datos (viendolos en pantalla), tiene que oprimir un botón grabar que lo tengo tipo GET.
Lo tengo tipo GET porque si lo pongo POST, inmediatamente me redirecciona la página a la indicada por el POST, y no da tiempo de nada porque queda como si el botón grabar ya se hubiera oprimido (creo y digo yo por el POST que viene desde la página anterior).

Pero si utilizo GET, funciona "casi" bien todo, excepto que las variables que traía desde la página anterior ya no están o no existen... $codunicorad=$_POST['txtcodunicorad'];

Me explico...
Si pongo el siguiente código, en pantalla no me muestra nada.
if (isset($_GET['btnGrabar']))
{ echo $codunicorad;}

Estoy sospechando que el formulario GET donde viene el botón, borra todo o no acepta nada que venga antes o que venga del POST anterior.

Alguna sugerencia? Alguien me puede ayudar?
 
Hola a todos, tengo el siguiente problemita:

Tengo unas variables donde capturo los datos de un formulario POST de otra página.
$codunicorad=$_POST['txtcodunicorad']; (Y otras más...)

Estas variables las imprimo en pantalla para que el usuario pueda verificar los datos que ingresó.

Después de que el usuario verifica estos datos (viendolos en pantalla), tiene que oprimir un botón grabar que lo tengo tipo GET.
Lo tengo tipo GET porque si lo pongo POST, inmediatamente me redirecciona la página a la indicada por el POST, y no da tiempo de nada porque queda como si el botón grabar ya se hubiera oprimido (creo y digo yo por el POST que viene desde la página anterior).

Pero si utilizo GET, funciona "casi" bien todo, excepto que las variables que traía desde la página anterior ya no están o no existen... $codunicorad=$_POST['txtcodunicorad'];

Me explico...
Si pongo el siguiente código, en pantalla no me muestra nada.
if (isset($_GET['btnGrabar']))
{ echo $codunicorad;}

Estoy sospechando que el formulario GET donde viene el botón, borra todo o no acepta nada que venga antes o que venga del POST anterior.

Alguna sugerencia? Alguien me puede ayudar?

Saludos:

Es normal que se le borren, porque esta manejando dos tipos de peticiones distintas, una de tipo POST al momento de recibir dichas variables, y otra GET que es manejada por el botón Grabar. Según veo, hay dos opciones posibles que se puedan manejar:

- La primera, y la mas engorrosa, definir variables hidden o ocultas en el formulario que recibe las variables POST y que tiene el botón grabar, y asignarles el mismo nombre y el valor php que reciben desde el formulario anterior. Lo malo es que al momento de enviar a grabar, las variables se colocarian en la URL, y seria visualizadas por el usuario. Claro que si cambia todo a POST, quedaría solucionado.

- Guardar las variables de sesión, de forma que sean manejadas a lo largo de toda la sesión de usuario, siempre y cuando la pagina a la cual se llegue mantenga la sesión. En este caso, se debe tener cuidado para borrar las variables o fijarlas, dependiendo de lo que se quiera hacer.

Ya la opción que escoja esta a gusto del desarrollador, y de la funcionalidad a implementar.

Suerte.
 
  • Me gusta
Reacciones: 2 personas
ombe G3r84 pues vea:
1. mysql_query devuelve es un "puntero" que tienes que pasar como argumento a la funcion fetch que escojas y es la que te arroja los registros devueltos. Entonces para su caso sería:
PHP:
$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
$i=0;
while($tmp=mysql_fetch_assoc($result))
        $acum[$i++]=$tmp;

print_r($acum);//solo para mostrar que si funca, toca que trabaje con $acum para formar la tabla y todo eso
2.no se que clase de campo sea Departure , si es texto un LIKE le va mejor en el WHERE.
suerte

Nada aun me sigue mostrando la pagina en blanco

Probe quitar el codigo PHP de la pagina y hay si me muestra la pagina donde va a salir la informacion de la busqueda pero vacia

Me imagino el error esta en esta porcion de codigo PHP

PHP:
<?php

include "Config.php";

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

$departure = $_POST['Departure'];
$airliner = $_POST['Airliner'];

$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
$i=0;
while($tmp=mysql_fetch_assoc($result))
        $acum[$i++]=$tmp;
    // Print out the contents of each row into a table
print "<table border=1 bordercolor=#ffffff width=\"100%\" class=Estilo1>\n";
print "<tr><td>";
print "Flight #";
print "</td><td>";
print $acum['id'];
print "</td><td>";
print "Departure";
print "</td><td>";
print $acum['Departure'];
print "</td><td>";
print "Arrival";
print "</td><td>";
print $acum['Arrival'];
print "</td></tr>\n<tr><td>";
print "Airliner";
print "</td><td colspan=5>";
print $acum['Airliner'];
print "</td></tr>\n<tr><td>";
print "Route";
print "</td><td colspan=5>";
print $acum['Route'];
print "</td></tr>\n";
print "</table>"; 
} 


?>

Alguna idea de que puede estar mal...
 
Nada aun me sigue mostrando la pagina en blanco
Alguna idea de que puede estar mal...
no es critica pero G3r84, te debes leer el manual de PHP, puedes mostrar los errores de PHP con
PHP:
ini_set("display_errors", "On");
y de paso un manual de MySQL.
a partir de Mysql 4.x, se empezo a soportar funciones de comparacion y manejo de cadenas de forma avanzada.
para tu consulta
PHP:
$Departure = $_POST['Departure'];
$Airliner = $_POST['Airliner'];
$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
//aqui esta mal, pues te dará el ID del recurso en PHP.
//echo "$result"; 
 //debe ser asi.
while( $rw = mysql_fetch_array($result){
echo $rw["id"] . " - " . $rw["Departure"] . " - " . $rw["Airliner"] . "<br />";
}
o segun el formato que quieras puedes agregarlo como tabla.
y como lo han dicho, si es texto el campo Airliner es mejor hacer un consulta con LIKE '%%'
 
Nada aun me sigue mostrando la pagina en blanco

Probe quitar el codigo PHP de la pagina y hay si me muestra la pagina donde va a salir la informacion de la busqueda pero vacia

Me imagino el error esta en esta porcion de codigo PHP

PHP:
<?php

include "Config.php";

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

$departure = $_POST['Departure'];
$airliner = $_POST['Airliner'];

$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
$i=0;
while($tmp=mysql_fetch_assoc($result))
        $acum[$i++]=$tmp;
    // Print out the contents of each row into a table
print "<table border=1 bordercolor=#ffffff width=\"100%\" class=Estilo1>\n";
print "<tr><td>";
print "Flight #";
print "</td><td>";
print $acum['id'];
print "</td><td>";
print "Departure";
print "</td><td>";
print $acum['Departure'];
print "</td><td>";
print "Arrival";
print "</td><td>";
print $acum['Arrival'];
print "</td></tr>\n<tr><td>";
print "Airliner";
print "</td><td colspan=5>";
print $acum['Airliner'];
print "</td></tr>\n<tr><td>";
print "Route";
print "</td><td colspan=5>";
print $acum['Route'];
print "</td></tr>\n";
print "</table>"; 
} 


?>

Alguna idea de que puede estar mal...

No se si pone problema pero...., ojo con los nombres de las variables que el PHP distingue mayus de minusculas.
Lo digo por:
$departure = $_POST['Departure'];
y en el select lo tienes: Departure = '$Departure'
 
Nada aun me sigue mostrando la pagina en blanco

Probe quitar el codigo PHP de la pagina y hay si me muestra la pagina donde va a salir la informacion de la busqueda pero vacia

Me imagino el error esta en esta porcion de codigo PHP

PHP:
<?php

include "Config.php";

// connect to the mysql server
$link = mysql_connect($server, $db_user, $db_pass)
or die ("Could not connect to mysql because ".mysql_error());

// select the database
mysql_select_db($database)
or die ("Could not select database because ".mysql_error());

$departure = $_POST['Departure'];
$airliner = $_POST['Airliner'];

$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')
or die("Could not Perform Search because ".mysql_error());  
$i=0;
while($tmp=mysql_fetch_assoc($result))
        $acum[$i++]=$tmp;
    // Print out the contents of each row into a table
print "<table border=1 bordercolor=#ffffff width=\"100%\" class=Estilo1>\n";
print "<tr><td>";
print "Flight #";
print "</td><td>";
print $acum['id'];
print "</td><td>";
print "Departure";
print "</td><td>";
print $acum['Departure'];
print "</td><td>";
print "Arrival";
print "</td><td>";
print $acum['Arrival'];
print "</td></tr>\n<tr><td>";
print "Airliner";
print "</td><td colspan=5>";
print $acum['Airliner'];
print "</td></tr>\n<tr><td>";
print "Route";
print "</td><td colspan=5>";
print $acum['Route'];
print "</td></tr>\n";
print "</table>"; 
} 


?>
Alguna idea de que puede estar mal...


Yo veo un problema en esta parte:

PHP:
$result = mysql_query('SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ')


Con las comillas en la función mysql_query, ya que estas encerrando la consulta en comillas simples y las variables también. Deberías probar así:

PHP:
$result = mysql_query("SELECT * FROM $table WHERE Departure = '$Departure' AND Airliner = '$Airliner' LIMIT 0, 30 ")

ó así:

PHP:
$result = mysql_query("SELECT * FROM $table WHERE Departure = '".$Departure."' AND Airliner = '".$Airliner."' LIMIT 0, 30 ")


Quedo pendiente.
 

Los últimos temas