Avatar billede pepsiman Juniormester
02. juni 2009 - 11:19 Der er 5 kommentarer og
1 løsning

Kan ikke henter id fra databasen

Hej.

jeg har oprettet navnlister,hvor de hører til samme arr. jeg har laver to databaser. ene databasen til arrangementer og anden databasen til navnlister.

når man skriver sit navn og person. det fremviser navnlister under samme arr.

jeg kan ikke henter navn og person frem på navnlister.

databasen - navnlister2

arr_id stanardværdi 0
navn_id stanardværdi 0
navn varchar
mail varchar
person varchar //hvor mange person er med.


<?php
$tbl_name2="navnlister2";

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);
$rows=mysql_fetch_array($res2);

?>



det skal være at hente navn_id og person under samme arr_id.

jeg bruger denne link:

det handler om forum,men jeg laver om til arrangementer og navnlister.

http://www.phpeasystep.com/workshopview.php?id=13

det minder om det samme, jeg vil gerne bruger.


Tak
Avatar billede zkill Nybegynder
02. juni 2009 - 15:57 #1
Jeg gætter på du ik har 2 databaser.. Men to tables...

<?php
$tbl_name2="navnlister2";

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);
$rows=mysql_fetch_array($res2);

?>

Din kode skulle virke.. har du tjekket at der er noget i den enkelte tabel.?

og for at udskrive alle, hvis der kan forkomme flere med samme arr_id, så skal du tilføje

<?php
$tbl_name2="navnlister2";

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);

while($rows = mysql_fetch_array($res2))
{
  //udskriv din row her.
  print $rows['navn'];
}

?>
Avatar billede pepsiman Juniormester
04. juni 2009 - 09:40 #2
hej igen. her er bare test sider. du kan ser hvad jeg laver.

jeg vil henter id fra navnlister2 efter de har skrevet navn og person,men kan ikke..

jeg laver tre sider.

arr.php            // oversigt over lister om arrangementer
arr+navnlister.php // Tilmeld dig - skrive dit navn,email og person
post_succes.php    // Tak for tilmeldning


arr+navnlister.php
------------------

$id=$_GET['id'];

mysql_connect("$host","$user","$pass")or die("ingen forbindelse");
mysql_select_db($db_name)or die("ingen db!");

$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$res=mysql_query($sql);

$rows=mysql_fetch_array($res);
?>
<table width="500" border="0" cellspacing="0"align="center">
<tr>
<td class="titel">arrangementet: <? echo $rows['titel']; ?></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?php
$tbl_name2="navnlister2";

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);
$rows=mysql_fetch_array($res2);

?>
<?php
while($rows=mysql_fetch_array($res)){
?>
<tr>
<td><? echo $rows['navn_id']; ?></td>
<td><? echo $rows['navn']; ?></td>
<td><? echo $rows['mail']; ?></td>
<td><? echo $rows['person']; ?></td>
</tr>
<? }
mysql_close();
?>
</table>


post_succes.php
----------------
mysql_connect("$host", "$username", "$password")or die("Ingen forbindelse");
mysql_select_db("$db_name")or die("ingen db!");

$id=$_POST['id'];

$sql="SELECT MAX(navn_id) AS Maxa_id FROM $tbl_name WHERE arr_id='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);

if ($rows) {
$Max_id = $rows['Maxa_id']+1;
}
else {
$Max_id = 1;
}

$navn=$_POST['navn'];
$mail=$_POST['mail'];
$person=$_POST['person'];

$sql2="INSERT INTO $tbl_name(arr_id, navn_id, navn, mail, person)VALUES('$id', '$Max_id', '$navn', '$mail', '$person')";
$result2=mysql_query($sql2);

if($result2){
echo "Tak for tilmeldning. På gensyn!<BR>";
echo "<a href='arr+navnlister.php?id=".$id."'>Tilbage..</a>";
}
else {
echo "Prøv igen!";
}

mysql_close();
?>
Avatar billede zkill Nybegynder
04. juni 2009 - 10:00 #3
Nu ved jeg så stadig ik hvor den fejler..
Men som hovedregl.. altid TJEK at du faktisk får nogen værdi i dine $_POST og $_GET..

Men hvad er det du siger fejlen er.

God måde at Debuge på, er ved at udskrive som sagt alle dine $_Post og $_Get.. Derefter udskrive alle dine SQL querys.. Som du så kan tjekke i din SQL database at de faktisk giver det udtræk du ønsker og for at tjekke om syntaxen er korrekt..

Men en ting jeg ik helt forstår her i:
------------------------------------------------------
arr+navnlister.php
------------------

$id=$_GET['id'];

mysql_connect("$host","$user","$pass")or die("ingen forbindelse");
mysql_select_db($db_name)or die("ingen db!");

$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$res=mysql_query($sql);

$rows=mysql_fetch_array($res);
?>
<table width="500" border="0" cellspacing="0"align="center">
<tr>
<td class="titel">arrangementet: <? echo $rows['titel']; ?></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<?php
$tbl_name2="navnlister2";

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);
$rows=mysql_fetch_array($res2);

?>
<?php
while($rows=mysql_fetch_array($res)){
?>
<tr>
<td><? echo $rows['navn_id']; ?></td>
<td><? echo $rows['navn']; ?></td>
<td><? echo $rows['mail']; ?></td>
<td><? echo $rows['person']; ?></td>
</tr>
<? }
mysql_close();
?>
</table>

------------------------------------------------------

$sql2="SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2=mysql_query($sql2);
$rows=mysql_fetch_array($res2);

?>
<?php
while($rows=mysql_fetch_array($res)){
?>


Burde du i dette afsnit ik kalde $res2, i din while lykke.? så det ser sådan her ud:

$sql2 = "SELECT * FROM $tbl_name2 WHERE arr_id='$id'";
$res2 = mysql_query($sql2);

while($rows=mysql_fetch_array($res2)){
?>
Avatar billede pepsiman Juniormester
04. juni 2009 - 10:53 #4
jeg har besluttet at lave helt ny. det vil siger at jeg kopier fra anden hjemmesider - http://www.phpeasystep.com/workshopview.php?id=12

jeg ændrer det hele til arrangementer og navnlister. og også databaser..

tak for din tid

Vil du have point??
Avatar billede zkill Nybegynder
04. juni 2009 - 13:16 #5
lige meget hehe..
Men held og lykke med det..
Avatar billede pepsiman Juniormester
07. juni 2009 - 10:58 #6
ok.
Det lykkedes for mig at laver det.:))

lukket
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