¿Alguien me puedo dar una mano con PHP y MySQL?

Publicado por andres88_, Noviembre 30, 2009, 19:18:50

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

andres88_

Hola gente, estoy haciendo una pagina para la facu y me trabe con PHP, si alguien esta dispuesto a ayudarme un toque, avise asi cuento un poco mas cual es y donde me trabe con PHP.

Gracias!! :up:

Camello_AR

Dale, tirá la duda que te ayudamos

PD: Yo estoy suscripto a un grupo google de PHP donde hay mucha gente que la tiene reclara (es una lista de correo básicamente) http://groups.google.es/group/php---programacion?hl=es

andres88_

Gracias Camello ahora voy a inspeccionar esa pag:
Aca dejo por lo 1º que tenemos problemas:

Bueno, vamos a empezar por partes, para empezar estamos haciendo una pagina de mundiales de futbol, que necesita una base de datos. Tenemos una base echa en acces con su consulta correspondiente que pregunta por numero de mundial. Osea poniendo en la consulta "1" la base tendria que ir a buscar los datos del 1º mundial. Bueno hasta ahi tenemos echo, ahora, el profesor nos dijo que hay que pasar esa tabla a mysql. Bueno nos bajamos el programa, pero no sabemos como pasarla, osea no nos habilita nada para escribir ni nada por el estilo.

Camello_AR

#3
Con que programa quieren hacer la conversión?

Lo que podes hacer es bajarte (desde la pagina de mysql no me acuerdo si .com o .org) el ODBC para MySQL, y desde acces podés abrir el mysql y transferir los datos

Igual me da la sensacion que tu problema está con la instalación del MySQL (o su uso). El MySQL se estructura en función de un sistema cliente/servidor. Vos instalás el servidor (en tu PC por ejemplo) y luego lo consultas tanto de tu máquina como de cualquier otra que esté conectada en red. Igual el clinee MySQL es muy complejo para manejarlo vía linea de comandos. Lo ideal es usar una interface (como ser programas qeu interactuan con el MySQL), una programación específica (php), administración (phpmyadmin o algo asi) o con un conector MySQL y un gestor de bases de datos (como access)

DAX

Fijate ACA

Con este programa tenés dos opciones para pasar la tabla (o base completa) de Access a Mysql. El sistema tiene un asistente y es intuitivo. Las formas son sencillas, si ya tenés el motor Mysql instalado y funcionando y podés conectarte a él, entonces podés hacer una conversión directa. Si no lo tenés, seleccionás hacer un dump de la tabla (o DB), esto te genera un archivo sql que después podés cargar en una db mysql.

SaludOS/2

andres88_

#5
Mira note tengo un kilombo estos profesores nos dejaron a la re deriva.
Para pasar de acces a sql nos dijo un programa llamado Navicat, el resultado de eso nos quedo un archivo ".sql" que tiene las tablas. Eso tiene que quedar?

Desp nos hizo bajar el WAMP ( Windows Apache MySQL PHP) y con eso montamos el servidor. Desp tmb nos bajamos el MySQL.Ahora lo que habria que hacer seria conectar la pagina en Html con la base de datos. No?


Actualizo: Usando ese programita que dejaste DAX me quedo el mismo archivo .sql que con el navicat.

Wallys

Hola, el Wamp es un servidor que te permite trabajar a nivel local (localhost) sin la necesidad de tener que subir toda la pagina a la web.
En caso que te manejes a nivel local, tenes que abrir el Php Myadmin (viene con el wamp) e importar tu base de datos.
Despues obviamente debes hacer la conexión de la página con la base de datos para corroborar que funcione todo correctamente.

:up:

DAX

Como te dice Wallys, tenes que importar el .sql resultante a la base de datos Mysql. Tenés algunas herramientas para eso. Ya sea MysqlAdmin que es un frontend gráfico para administrar bases de datos Mysql y se instala bajo windows (creo, en este ámbito de servidores, windows no es lo que uso) o bien instalar en apache PhpMyAdmin y la adminstración de mysql la haces via browser.

Ahora, si te gusta la aventura, podés hacerlo también desde la consola de mysql. Supongo que en windows también será ejecutando el comando "mysql" y desde ahí vas ejecutando los comandos sql correspondientes para importar el archivo .sql.

SaludOS/2

andres88_

Haber, intente usar el phpMyAdmin pero cuanto intente importar el archivo .sql que me arrojo el bullzip, me dice que hay un error de sintaxis  :-\

Esto es lo que tiene ese archivo: detectan algo ustedes?

-- Dump File
--
-- Database is ported from MS Access
----------------------------------------------------------
-- Program Version 3.0.117

IF NOT EXISTS (SELECT * FROM master.dbo.sysdatabases WHERE name = N'movedb') CREATE DATABASE [movedb]
USE [movedb]

--
-- Table structure for table 'Tabla1'
--

IF object_id(N'Tabla1', 'U') IS NOT NULL DROP TABLE [Tabla1]

CREATE TABLE [Tabla1] (
  [Numero] INT,
  [Mundial] NVARCHAR(50) NOT NULL,
  [Campeón] NVARCHAR(50),
  [Subcampeón] NVARCHAR(50),
  [Tercero] NVARCHAR(50),
  [Cantidad de equipos] INT DEFAULT 0,
  [Goles] NVARCHAR(50),
  [Goleador] NVARCHAR(50),
  PRIMARY KEY ([Mundial])
)

--
-- Dumping data for table 'Tabla1'
--

INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (10, N'Alemania 1974', N'Alemania Federal', N'Holanda', N'Polonia', 16, N'97/ 2,55 prom. Por partido', N'Grzegorz Lato (Polonia), 7 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (18, N'Alemania 2006', N'Italia', N'Francia', N'Alemania', 32, N'147/ 2,30 prom. Por partido', N'Miroslav Klose (Alemania), 5 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (11, N'Argentina 1978', N'Argentina', N'Holanda', N'Brasil', 16, N'102/ 2,68 prom. Por partido', N'Mario Kempes (Argentina), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (4, N'Brasil 1950', N'Uruguay', N'Brasil', N'Suecia', 13, N'88/ 4 prom. Por partido', N'Ademir (Brasil), 9 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (7, N'Chile 1962', N'Brasil', N'Checoslovaquia', N'Chile', 16, N'89/ 2,78 prom. Por partido', N'Drazen Jerkovic (Yugoslavia), 5 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (17, N'Corea-Japón 2002', N'Brasil', N'Alemania', N'Turquia', 32, N'161/ 2,51 prom. Por partido', N'Ronaldo (Brasil), 8 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (15, N'EE. UU. 1994', N'Brasil', N'Italia', N'Suecia', 24, N'141/ 2,71 prom. Por partido', N'Stotichkov (Bulgaria)/ Salenko (Rusia), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (12, N'España 1982', N'Italia', N'Alemania', N'Polonia', 24, N'146/ 2,81 prom. Por partido', N'Paolo Rossi (Italia), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (3, N'Francia 1938', N'Italia', N'Hungría', N'Brasil', 15, N'84/ 4,67 prom. Por partido', N'Leónidas (Brasil), 9 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (16, N'Francia 1998', N'Francia', N'Brasil', N'Croacia', 32, N'171/ 2,67 prom. Por partido', N'Davor Suker (Croacia), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (8, N'Inglaterra 1966', N'Inglaterra', N'Alemania', N'Portugal', 16, N'89/ 2,78 prom. Por partido', N'Eusebio (Portugal), 9 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (2, N'Italia 1934', N'Italia', N'Checoslovaquia', N'Alemania', 16, N'70/ 4,12 prom. Por partido', N'Oldrich Nejedly (Checoslovaquia), 5 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (14, N'Italia 1990', N'Alemania', N'Italia', N'Italia', 24, N'115/ 2,21 prom. Por partido', N'Salvatore Schillaci (Italia), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (9, N'Mexico 1970', N'Brasil', N'Italia', N'Alemania', 16, N'95/ 2,97 prom. Por partido', N'Gerd Muller (Alemania), 10 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (13, N'Mexico 1986', N'Argentina', N'Alemania', N'Francia', 24, N'132/ 2,54 prom. Por partido', N'Gary Lineker (Inglaterra), 6 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (6, N'Suecia 1958', N'Brasil', N'Suecia', N'Francia', 16, N'126/ 3,60 prom. Por partido', N'Juste Fontaine (francia), 13 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (5, N'Suiza 1954', N'Alemania', N'Hungría', N'Austria', 16, N'140/ 5,38 prom. Por partido', N'Sandor Kocsis (Hungría), 11 goles')
INSERT INTO [Tabla1] ([Numero], [Mundial], [Campeón], [Subcampeón], [Tercero], [Cantidad de equipos], [Goles], [Goleador]) VALUES (1, N'Uruguay 1930', N'Uruguay', N'Argentina', N'Estados Unidos', 13, N'70/ 3,89 prom. Por partido', N'Guillermo Stábile (Argentina), 8 goles')
-- 18 records


4kstore

No te dice donde esta el error en cuestion? el numero de linea o alguna referencia??
Saludos!



andres88_


Camello_AR

Reemplaza

IF NOT EXISTS (SELECT * FROM master.dbo.sysdatabases WHERE name = N'movedb') CREATE DATABASE [movedb]
Por
CREATE DATABASE [movedb]

o mejor comenta (con dos guiones--) la linea esa y pegá abajo el create database

Si sigue dando error, es porque la base ya está cread, en su caso comenta (o eliminá) el create y que el script arranque en use...

andres88_

Gente ya probe de todo, nose que pasa, no muestra los resultados, alguien me puede dar una mano? Si alguien se copa subo la base para ver mejor cual es el problema. Gracias!!
Aca les dejo el codigo:

<span class="Estilo8">Elija el mundial que quiere ver</span>
<select name="accion" size=1 onChange ="formHandler(this.form)">
<option value="">(elija una opción)...
<option value="1">Uruguay 1930</option>
<option value="2">Italia 1934</option>
<option value="3">Francia 1938</option>
<option value="4">Brasil 1950</option>
<option value="5">Suiza 1954</option>
<option value="6">Suecia 1958</option>
<option value="7">Chile 1962</option>
<option value="8">Inglaterra 1966</option>
<option value="9">México 1970</option>
<option value="10">Alemania 1974</option>
<option value="11">Argentina 1978</option>
<option value="12">España 1982</option>
<option value="13">México 1986</option>
<option value="14">Italia 1990</option>
<option value="15">Estados Unidos 1994</option>
<option value="16">Francia 1998</option>
<option value="17">Corea/Japón 2002</option>
<option value="18">Alemania 2006</option>
</select></font></div>
<input name="accion" type="hidden" value="a">
            </form>&nbsp;</h1>
        <?php
        
if (isset($_REQUEST['accion'])) {
$conexion mysql_connect("localhost""root""");
                
mysql_select_db("Tabla1"$conexion);
                
$mundial $_REQUEST['accion'];
                
$sql "SELECT Tabla1.Numero, Tabla1.Mundial, Tabla1.Campeon, Tabla1.Subcampeon, Tabla1.Tercero, Tabla1.Cantidaddeequipos, Tabla1.Goles, Tabla1.Goleador  FROM Tabla1 WHERE Tabla1.Numero=" $mundial ;
                
$result mysql_query($Tabla1,$conexion) or die(mysql_error());
                while (
$row mysql_fetch_array($result)) {
                {
                      print (
"<TR>");
                      print (
"<TD>$row[1]</TD> ");
                      print (
"<TD>$row[2]</TD> ");
                      print (
"</TR>");        
                    }
                    
mysql_free_result($result);
                
}


}
?>

Camello_AR

El primer problema que advierto (dado que no tengo el total de código a la vista) es que no se cual es la acción del formulario (con el evento onchange)

Por otro lado, todo indica que intentas hacer post ejecución de PHP, y algo que debés saber es que PHP se ejecuta a nivel servidor, es decir cuando| haces la petición el servidor ejecuta el código PHP y te devuelve una página ya procesada (al igual con otros lenguajes de programación web como ASP, ASP.NET, CFM, JSP, CGI). Para ejecución de código a nivel cliente se usa principalmente JavaScript u otros lenguajes similares (como VBscript). En tu caso, debés dividir la página en dos archivos, uno el HTML con el desplegable, los javascripts y todas las funciones ejecutables a nivel cliente. El otro un PHP que al recibir el código de mundial devuelva los resultados de la tabla correspondiente.

Luego tenés que evaluar la forma en que devolves esos resultados y comos los integras. Puede ser en formato HTML (como estás haciendo) o en formato XML. El primero podés integrarlo como capas, marcos, iframes, en tanto que el segundo lo insertas como una capa con AJAX (lo cual no te recomiendo, por el momento, debido a tus niveles de programación en PHP )

andres88_

Ya esta, camello, volvi a empezar con la base y lo de PHP y ahora funciona todo. Tenia un kilombo terrible con la base. Hoy la presente en la facu y me aprovaron. Asi que ahora solo me falta publicarla :P

Gracias a todos por la ayuda!! :up: