Avatar billede thylen Nybegynder
21. marts 2008 - 20:44 Der er 3 kommentarer

PHP, MySQL, 2 tabeller, vil ikke arbejde ud fra specefikke id'er

Hej, jeg har dette problem, at jeg vil havde 2x tabeller til at arbejde sammen, for at uddybe det lidt, så vil jeg lave et "signup system", med 2 tabeller som skal arbejde sammen, hvor de kun skal vise hvem der er signed up hvis de har et specefikt "ID". Det vil sige, i Tabel1(raid) har jeg et felt kaldet "raidid" og i Tabel2(sign) har jeg et felt også kaldet "raidid".

Hvis vi siger jeg har et event kaldet, "Gå ud med skraldespanden". den har måske "raidid 1" i Tabel1(raid)og den side der bruger Tabel1(raid) er showraids.php - Så når lille Jonas logger sig på sin profil og klikker signup til dette event, så giver den ham "raidid 1" i Tabel2(sign), så når man klikker sig ind under dette event kan man kun se dem som har "raidid 1" hvilket vil sige at når man lavet en query SELECT * FROM at når jonas så signer sig at den ikke vises på alle events der ligger. Håber det kan forståes. Jeg har ikke lavet signup delen endnu fordi det er det letteste men jeg kan simpelthen ikke få dem som er signed til et specefikt event lade være med at vises på de andre events også, kun hvis jeg bruger en værdi med f.eks 0 men med 1,2 virker det ikke ordenligt.

showraids.php =
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>

<title>#Signup system</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<?php
mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("signupsystem");

$getinfo = mysql_query("SELECT * FROM `raid` ORDER BY raidid")or die(mysql_error());
while($visinfo = mysql_fetch_assoc($getinfo)){

?>

<table>
<tr class="head">
<td width="10%"><strong>Raid:</strong></td>
<td width="25%"><strong>Zone:</strong></td>
<td width="20%"><strong>Date:</strong></td>
<td width="10%"><strong>Week:</strong></td>
<td width="10%"><strong>Signs:</strong></td>
</tr>
<tr>
<td><?php echo $visinfo['raidid']; ?></td>
<td><?php echo $visinfo['zone']; ?></td>
<td><?php echo $visinfo['date']; ?></td>
<td><?php echo $visinfo['week']; ?></td>
<td><?php echo $visinfo['signs']; ?></td>
</tr>
</table>
<?php
}
?>
</body>

</html>

showsigns.php =
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>

<title>#Signup system</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<?php
mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("signupsystem");

$getinfo = mysql_query("SELECT * FROM `raid` ORDER BY raidid")or die(mysql_error());
while($visinfo = mysql_fetch_assoc($getinfo)){

?>

<table>
<tr class="head">
<td width="10%"><strong>Raid:</strong></td>
<td width="25%"><strong>Zone:</strong></td>
<td width="20%"><strong>Date:</strong></td>
<td width="10%"><strong>Week:</strong></td>
<td width="10%"><strong>Signs:</strong></td>
</tr>
<tr>
<td><?php echo $visinfo['raidid']; ?></td>
<td><?php echo $visinfo['zone']; ?></td>
<td><?php echo $visinfo['date']; ?></td>
<td><?php echo $visinfo['week']; ?></td>
<td><?php echo $visinfo['signs']; ?></td>
</tr>
</table>
<?php
}
?>
</body>

</html>

Min Database:

Tabel1(raid)
indholder:
id
signs
zone
date
week
raidid

Tabel2(sign)
indholder:
id
name
class
race
spec
comment
raidid

Håber det er forståeligt :-)
Avatar billede thylen Nybegynder
21. marts 2008 - 20:51 #1
Ændring i mine dokumenter, P.S jeg linker til de speccefikke events ud fra id'et
showraids.php =

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>

<title>#Signup system</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<?php
mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("signupsystem");

$getinfo = mysql_query("SELECT * FROM `raid` ORDER BY raidid")or die(mysql_error());
while($visinfo = mysql_fetch_assoc($getinfo)){

?>

<table>
<tr class="head">
<td width="10%"><strong>Raid:</strong></td>
<td width="25%"><strong>Zone:</strong></td>
<td width="20%"><strong>Date:</strong></td>
<td width="10%"><strong>Week:</strong></td>
<td width="10%"><strong>Signs:</strong></td>
</tr>
    <tr>
    <td><a href="showsigns.php?=<?php echo $visinfo['raidid']; ?>"><?php echo $visinfo['raidid']; ?></a></td>
    <td><?php echo $visinfo['zone']; ?></td>
    <td><?php echo $visinfo['date']; ?></td>
    <td><?php echo $visinfo['week']; ?></td>
    <td><?php echo $visinfo['signs']; ?></td>
    </tr>
    </table>
<?php
}
?>
</body>

</html>

showsigns.php =
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Showsigns</title>
</head>

<body>
<?php

mysql_connect("localhost","root","")or die(mysql_error());
mysql_select_db("signupsystem");

$hentSign = mysql_query("SELECT * FROM sign, raid WHERE sign.raidid = raid.raidid")or die(mysql_error());
while($visSign = mysql_fetch_assoc($hentSign)){
if($visSign['sign.raidid'] == $visSign['raid.raidid']){
?>
<table>
<tr class="head">
<td width="10%"><strong>Nr:</strong></td>
<td width="10%"><strong>Name:</strong></td>
<td width="25%"><strong>Class:</strong></td>
<td width="20%"><strong>Race:</strong></td>
<td width="10%"><strong>Spec:</strong></td>
<td width="10%"><strong>Comment:</strong></td>
</tr>
    <td><?php echo $visSign['id']; ?></td>
    <td><?php echo $visSign['name']; ?></td>
    <td><?php echo $visSign['class']; ?></td>
    <td><?php echo $visSign['race']; ?></td>
    <td><?php echo $visSign['spec']; ?></td>
    <td><?php echo $visSign['comment']; ?></td>
    </tr>
<?php
} else {
echo "fejl";
}}
?>

</body>
</html>
Avatar billede thylen Nybegynder
22. marts 2008 - 04:54 #2
Så, for søren nu har jeg fået lavet lidt på showsigns.php - det problem jeg har nu er dog at jeg ikke kan havde flere signet up afgangen, fordi at signup er et row i raid hvad gør jeg ved det? her er den nye kode..

<?php
mysql_connect("localhost","root","")or die(myqsl_error());
mysql_select_db("signupsystem");

if(!isset($_SESSION)){
    session_start();
    }
$urlId = $_REQUEST['id'];
$signAction = $_SERVER['PHP_SELF']."?id=$urlId";
$session = $_SESSION['MM_brugernavn'];
if(isset($_SESSION['MM_brugernavn'])){
$getId = mysql_query("SELECT * FROM users WHERE b_navn = '$session'")or die(mysql_error());
while($visId = mysql_fetch_assoc($getId)){
$countId = mysql_num_rows($getId);
if($countId == 1){
$getnick = $visId['nick'];
$getclass = $visId['class'];
if($signAction){
mysql_query("UPDATE `raid` SET signup='$getnick' WHERE id='$urlId'")or die(mysql_error());
}}}}
$getSign = mysql_query("SELECT * FROM `raid` WHERE id='$urlId'")or die(mysql_error());
while($visSign = mysql_fetch_assoc($getSign)){

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Showsigns</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="contain">
<table>
<tr class="head">
<td width="5%"><strong>Nr:</strong></td>
<td width="20%"><strong>Name:</strong></td>
<td width="10%"><strong>Class:</strong></td>
<td width="10%"><strong>Race:</strong></td>
<td width="10%"><strong>Spec:</strong></td>
<td width="10%"><strong>Comment:</strong></td>
<td width="15%"><strong>Signup:</strong></td>
</tr>
<?php do { ?>
<tr>
    <td></td>
    <td><?php echo $visSign['signup']; ?></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td><a href="<?php echo $signAction; ?>">Sign up</a></td>
      </tr>
<?php
} while($visId = mysql_fetch_assoc($getId));
}
?>
    </table>

</div>
</body>
</html>
Avatar billede thylen Nybegynder
22. marts 2008 - 04:58 #3
Kunne, man muligvis lave det til sessions i stedet for database? Jeg har et bare sådan jeg kan godt lide at havde mine data gemt et sted, så jeg ville nok fortrække at gøre det i database, men nu vil jeg sove på det har siddet og programmeret hele natten ^^ Kan  være jeg tænker lidt mere klart med en frisk hjerne :P

/thylen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester