Hi,
I have played a little with your code, to show you some other ways to perform your queries & structure the code; I did not do all of the code, as I think you need to change the design of your database. The way you have organized it now makes it cleatr yur database layout is very inefficient, bioth for maintenence as for querying.
What I did to your code is an example on how to do multiple updates in 1 query, and how to use the switch statement to choose differnt paths of processing based on one variable (Rather than the series of if statements. A switch is faster, and easier to follow). Also, I added some indetation, which improves the readability of the code, and makes it clearer to spot errors. More info mbelow the code:
<?php
$IDJogo = 1;
$db = mysql_connect("localhost", "userx", "passx");
$basedados = "db_y" ;
mysql_select_db($basedados, $db) ;
if(!$_POST['dado'] && !$_POST['substituir'])
{
echo "Jogo: Pronto a começar....." ;
}
else
{
$pass = $_POST['pass'] ;
echo "iloknjo $pass" ;
$qpassc = "SELECT PassC FROM Jogo WHERE IDJogo = $IDJogo" ;
$passc = mysql_query($qpassc, $db) ;
while($as = mysql_fetch_array($passc))
{
echo "" ;
$passo = $as['PassC'] ;
}
if($pass = $passo)
{
$dado = rand(1, 6) ;
$cartao = rand(1, 20) ;
// If the next results in only 1 record, use limit clause:
/* $resultj = mysql_query("SELECT NDadosC FROM Jogo WHERE IDJogo = $IDJogo", $db);
while($row=mysql_fetch_array($resultj))
{
echo $row["NDadosC"] ;
$test = $row["NDadosC"] ;
*/
$resultj = mysql_query("SELECT NDadosC FROM Jogo WHERE IDJogo = $IDJogo limit 0, 1", $db);
$test = mysql_result($resultj, 0, "NDadosC");
}
if(isset($_POST['dado']))
{
// Use a switch statement here:
switch($test)
{
case 1:
/*
$qidado = "UPDATE Jogo SET Dado1C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart1C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 2 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
*/
// a lot shorter & quicker would be:
$qidado = "update jogo set Dado1C = $dado, Cart1C = $cartao, NDadosC = $jogu WHERE IDJogo = $IDJogo";
$idado = mysql_query($qidado, $db) ;
break;
case 2:
// Update the rest of the cases to match above
$qidado = "UPDATE Jogo SET Dado2C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart2C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 3 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 3:
$qidado = "UPDATE Jogo SET Dado3C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart3C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 4 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 4:
$qidado = "UPDATE Jogo SET Dado4C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart4C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 5 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
break;
case 5:
$qidado = "UPDATE Jogo SET Dado5C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart5C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 6 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 6:
$qidado = "UPDATE Jogo SET Dado6C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart6C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 7 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 7:
$qidado = "UPDATE Jogo SET Dado7C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart7C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 8 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 7:
$qidado = "UPDATE Jogo SET Dado8C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart8C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 9 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 8:
$qidado = "UPDATE Jogo SET Dado8C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart8C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 9 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 9:
$qidado = "UPDATE Jogo SET Dado9C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart9C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 10 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 10:
$qidado = "UPDATE Jogo SET Dado10C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart10C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 11 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 11:
$qidado = "UPDATE Jogo SET Dado11C = $dado WHERE IDJogo = $IDJogo" ;
$idado = mysql_query($qidado, $db) ;
$qicart = "UPDATE Jogo SET Cart11C = $cartao WHERE IDJogo = $IDJogo" ;
$icart = mysql_query($qicart, $db) ;
$jogu = 12 ;
$qijog = "UPDATE Jogo SET NDadosC = $jogu WHERE IDJogo = $IDJogo" ;
$ijog = mysql_query($qijog, $db) ;
echo "Jogo: A decorrer..." ;
break;
case 12:
echo "Final do Jogo" ;
break;
} // end of switch
The reason why I said the dastabase is wrong, is beacuase you repeat essentially the same query some 10 times based on 1 item being different. That means that you should consider moving away from haveing one big table:
Jogo:
IDJogo | Cart1C| Cart2C| Cart3C| Cart4C| Cart5C ..Dado1C | Dado2C | Dado3C | ...
To multiple smaller tables:
Jogo:
IDJogo | NRCustomer
Customer:
IDCustomer | Name | ..
Carts
IDCart | NRCustomer | NrDado | ...
Dado:
IDDado | NRCarts | ...
and link them:
select * from customer
left join carts
on Customer.IDCustomer = carts.NRCustomer
left join Dado
on carts.NrDado = Dado.IDDado
where IDJogo = $IDJogo"
[code=php]
A structure like this is capable of handling hundred of items in one query; rather than your 10 queries for 10 items. Unfortunately, your colums are in .. Portuguese? .. and I do not really know what you are storing and retrieving here, otherwise the example might be a bit more suitable.