En la actualidad, me encuentro realizando un script para una página de béisbol, y tengo una pequeña duda, voy a explicar en primer lugar, la estructura de la tabla.
Tengo dos tablas una llamada "calendario" y otra denominada "lanzadores", en la primera de ella tengo las siguientes columnas:
Tabla Calendario:
Cita:
A su vez, tengo otra tabla donde tengo almacenado todos los nombres de los lanzadores de la liga, con la respectiva información de victorias, derrotas y salvados que posee cada uno. A continuación su estructuraFecha del juego (date)
Equipo Home Club (homeclub)
Carreras anotadas por el equipo Home Club (carrerashc)
Equipo visitante (visitante)
Carreras anotadas por el conjunto visitante (carrerasv)
Nombre del lanzador abridor por el equipo Home club (phomeclub)
Nombre del lanzador abridor por el equipo visitante (pvisitante)
Nombre del lanzador ganador (pganador)
Nombre del lanzador perdedor (pperdedor)
Nombre del lanzador que se adjudica el juego salvado (psalvado)
Estadio donde se llevará a cabo el juego (estadio)
Hora del partido (hora)
Medio de comunicación que esta a cargo de la transmisión (transmision)
Entre paréntesis les coloqué el nombre que lleva el campo dentro de la tabla
Equipo Home Club (homeclub)
Carreras anotadas por el equipo Home Club (carrerashc)
Equipo visitante (visitante)
Carreras anotadas por el conjunto visitante (carrerasv)
Nombre del lanzador abridor por el equipo Home club (phomeclub)
Nombre del lanzador abridor por el equipo visitante (pvisitante)
Nombre del lanzador ganador (pganador)
Nombre del lanzador perdedor (pperdedor)
Nombre del lanzador que se adjudica el juego salvado (psalvado)
Estadio donde se llevará a cabo el juego (estadio)
Hora del partido (hora)
Medio de comunicación que esta a cargo de la transmisión (transmision)
Entre paréntesis les coloqué el nombre que lleva el campo dentro de la tabla
Tabla Lanzadores:
Cita:
La cuestión es, que deseo colocar en mi página web, una tabla que se llame RESULTADOS DEL DÍA, donde me coloque la información del score de cada juego que se llevó a cabo en el día, y abajo del resultado me coloque quien fue el lanzador ganador del encuentro, el lanzador perdedor y finalmente el lanzador salvador (en caso de haberlo).Nombre del lanzador (lanzador)
Cantidad de victorias (victorias)
Cantidad de derrotas (derrotas)
Cantidad de salvados (salvados)
Entre paréntesis les coloqué el nombre que lleva el campo dentro de la tabla
Cantidad de victorias (victorias)
Cantidad de derrotas (derrotas)
Cantidad de salvados (salvados)
Entre paréntesis les coloqué el nombre que lleva el campo dentro de la tabla
Eso ya lo hice, y todo funciona a la perfección, solo con un detalle, que no selecciona de manera correcta la cantidad de victorias del lanzador correspondiente, y he allí mi duda. A continuación, les coloco el query que realizo a la base de datos, para que ella seleccione los resultados y los lanzadores en cuestión:
index.php
Cita:
Cómo pueden observar, ella toma de la base de datos el resultado del encuentro sin problema, también selecciona de manera correcta los lanzadores que quedaron ganadores, perdedores y salvadores, el único problema existente, es que coloca a todos los lanzadores la misma cantidad de victorias, derrotas y salvados, y he allí mi duda. Es un poco complejo, por lo que les voy a colocar mi página web para que observen el problema: http://beisbol.radiotricolor.org, para que observen la tabla resultados que está debajo de la parte de noticias, e intenten ayudarme para ver cual es el problema.<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","user","clave") ))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("baseball",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>
</table>
<?php
include("conex.phtml");
$link=Conectarse();
$result=mysql_query("SELECT * FROM calendario,lanzadores WHERE 1 AND `date` LIKE DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `lanzador`=`pganador`");
?>
<table border="3" cellpadding="3" cellspacing="3" width="100%" id="AutoNumber4" height="32" style="font-family: Verdana; border-collapse:collapse" class="ms-list1-0001-main" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000">
<!-- fpstyle: 24,000010000 -->
<?php
while($row = mysql_fetch_array($result)) {
printf(" <tr><td><center>%s: %s<br><br>VS<br><br><center>%s: %s</td></tr><tr><td><center>PG: %s (%s-%s)<br><br><center>PP: %s (%s-%s)<br><br><center>PS: %s (%s)</td></tr>
", $row["visitante"],$row["carrerasv"],$row["homeclub"],$row["carrerashc"],$row["pganador"],$row["victorias"],$row["derrotas"],$row["pperdedor"],$row["victorias"],$row["derrotas"],$row["psalvado"],$row["salvados"]);
} mysql_free_result($result);
mysql_close($link);
?>
function Conectarse()
{
if (!($link=mysql_connect("localhost","user","clave") ))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("baseball",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>
</table>
<?php
include("conex.phtml");
$link=Conectarse();
$result=mysql_query("SELECT * FROM calendario,lanzadores WHERE 1 AND `date` LIKE DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `lanzador`=`pganador`");
?>
<table border="3" cellpadding="3" cellspacing="3" width="100%" id="AutoNumber4" height="32" style="font-family: Verdana; border-collapse:collapse" class="ms-list1-0001-main" bordercolor="#000000" bordercolorlight="#000000" bordercolordark="#000000">
<!-- fpstyle: 24,000010000 -->
<?php
while($row = mysql_fetch_array($result)) {
printf(" <tr><td><center>%s: %s<br><br>VS<br><br><center>%s: %s</td></tr><tr><td><center>PG: %s (%s-%s)<br><br><center>PP: %s (%s-%s)<br><br><center>PS: %s (%s)</td></tr>
", $row["visitante"],$row["carrerasv"],$row["homeclub"],$row["carrerashc"],$row["pganador"],$row["victorias"],$row["derrotas"],$row["pperdedor"],$row["victorias"],$row["derrotas"],$row["psalvado"],$row["salvados"]);
} mysql_free_result($result);
mysql_close($link);
?>
Sé que el query tiene un pequeño error, pero no sé solucionarlo, porque como pueden darse cuenta, coloqué lo siguiente:
Cita:
Es por ello que toma las victorias, derrotas y salvados de los lanzadores del equipo home club, yo he intentado hacer lo siguiente:SELECT * FROM calendario,lanzadores WHERE 1 AND `date` LIKE DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `lanzador`=`pganador`
Cita:
Porque creí que de esta manera tomaría en cuenta de la tabla Lanzadores, las victorias, derrotas y salvados de cada lanzador que esté implicado en las decisiones de cada juego, pero no es así, ni lo hace, y además de no hacerlo, imprime en la tabla de la página principal, cada juego 3 veces.SELECT * FROM calendario,lanzadores WHERE 1 AND `date` LIKE DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND `lanzador`=`pganador` OR `lanzador`=`pperdedor` OR `lanzador`=`psalvado`
Sé que el asunto es medio enredado, yo mismo estoy un poco enrrollado en el asunto, pero espero que puedan ayudarme.
Muchas Gracias de antemano
retriever2005