Avatar billede mazey Praktikant
16. november 2004 - 20:06 Der er 11 kommentarer og
1 løsning

Udtræk fra Database vil ikke helt som jeg vil

Hej Eksperter...

Jeg har en side hvor der er en liste med 150 virksomheder. I den liste kan man skrive sit navn ind i et felt. Det kan så virke uoverskueligt for brugeren når der er 150 virksomheder og 5 forskellige brugere som skriver deres navne ved de forskellige virksomheder. Jeg har derfor lavet en ny php fil som trækker de virksomheder ud hvor de enkeltes navne står, og det virker fint på min egen maskine (localhost), men når jeg lægger den op vil den intet... når man klikker på et navn går den til den nye select fil, men den viser stadig alt.

Min index fil er som følger:

<html>
<body bgcolor="#CCCCCC">

<form method='POST' action='jul.php'>
<select name="navn_form">
<?php
include("settings.inc.php");
$query = mysql_query("SELECT navn FROM butik ORDER BY navn");
while ($row = mysql_fetch_array($query)){
?>
<option>
<?php echo $row['navn']; ?>

</option>

<?php
}
?>

</select>
<INPUT TYPE='SUBMIT' VALUE='Rediger'>
</FORM>
<br/>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><span class="style11">Hvad har du valgt:</span><br/><br/>
    <span class="style5"><a href="selected.php?visited=Madsen" target="_self">Martin Madsen</a><br/>
    <a href="selected.php?visited=Claus Hansen" target="_self">Claus Hansen</a><br/>
    <a href="selected.php?visited=Wüpper" target="_self">Jens Wüpper</a></span></td>
  </tr>
</table>

<? $query2 = mysql_query("SELECT id, navn, got, visited, janej FROM butik ORDER BY navn"); ?>


<table width="100%"  border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td><table width="600" border="1" cellspacing="0" cellpadding="0" align="center">
  <tr align="center" bgcolor="354E8E">
    <td width="200" ><span class="style5">Virksomhed:</span></td>
    <td width="100"><span class="style5">Bidrag?</span></td>
    <td width="150"><span class="style5">Hvilket?</span></td>
    <td width="150"><span class="style5">Hvem besøgte?</span></td>
  </tr>
</table>
<? while ($row2 = mysql_fetch_row($query2)) {

?>

<table width="600" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#FFFFFF">
  <tr style="background-color: <?=( $i++ % 2 ? "#8698C7" : "#7081AD" )?>">
    <td width="200" height="25>&nbsp;<? echo $row2[1]; ?></td>
    <td width="100" height="25" align="center"><? echo $row2[4]; ?></td>
    <td width="150" height="25" align="center"><? echo $row2[2]; ?></td>
    <td width="150" height="25" align="center"><? echo $row2[3]; ?></td>
  </tr>
</table>
<?
}
?></td>
  </tr>
</table>



</body>
</html>


Min select fil ser således ud:

<html>
<body bgcolor="#CCCCCC">
<?php
include("settings.inc.php"); ?>



<table width="100%"  border="0" cellspacing="0" cellpadding="0" align="center">
  <tr >
    <td><table width="600" border="1" cellspacing="0" cellpadding="0" align="center">
  <tr align="center" bgcolor="354E8E">
    <td width="200" ><span class="style5">Virksomhed:</span></td>
    <td width="100"><span class="style5">Bidrag?</span></td>
    <td width="150"><span class="style5">Hvilket?</span></td>
    <td width="150"><span class="style5">Hvem besøgte?</span></td>
  </tr>
</table>
<? if($visited)
{
    $q_vareDb = mysql_query("SELECT * FROM butik WHERE visited='".$_GET['visited']."'");
}
else
{
    $q_vareDb = mysql_query("SELECT * FROM butik");
}
while($o_vareDb = mysql_fetch_array($q_vareDb))
{

?>

<table width="600" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#FFFFFF">
  <tr style="background-color: <?=( $i++ % 2 ? "#8698C7" : "#7081AD" )?>">
    <td width="200" height="25>&nbsp;<? echo $o_vareDb['navn']; ?></td>
    <td width="100" height="25" align="center"><? echo $o_vareDb['janej']; ?></td>
    <td width="150" height="25" align="center"><? echo $o_vareDb['got']; ?></td>
    <td width="150" height="25" align="center"><? echo $o_vareDb['visited']; ?></td>
  </tr>
</table>
<?
}
?></td>
  </tr>
</table>
</body>
</html>


Håber nogen har mulighed for at se hvad "fejlen" kan være... virker underligt at det fungerer på min egen maskine, men ikke på nettet....
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:11 #1
ret
    <? if($visited)
til
    <? if($_GET['visited'])
eller
    <? if(isset($_GET['visited'])
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:11 #2
<? if(isset($_GET['visited']))
Avatar billede mazey Praktikant
16. november 2004 - 20:14 #3
Super... takker... samler du stadig ikke på point? :)
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:16 #4
Nej tak
Avatar billede mazey Praktikant
16. november 2004 - 20:21 #5
Ok... så skal du få go' karma... :)

Hvis jeg nu vil have virksomhederne nummereret, så man hurtigt kan få overblik over hvor mange der er, hvad gør man så?
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:23 #6
Nok nemmest som

  $i=0;
  while (.....) {
    $i++;
    print "$i: ...";
  }

Jeg samler nu heller ikke på karma, tak (men jeg kan desværre ikke forhindre dig)
Avatar billede mazey Praktikant
16. november 2004 - 20:27 #7
Jamen kan man have 2 while loops ved siden af hinanden?... Jeg er ikke helt sikker på hvor jeg skal sætte den ind...
Avatar billede mazey Praktikant
16. november 2004 - 20:29 #8
Har prøvet med nedenstående, men så viser echoer den 2, 4 .... og ikke 1, 2, 3....

<?  if($_GET['visited'])

{
    $q_vareDb = mysql_query("SELECT * FROM butik WHERE visited='".$_GET['visited']."'ORDER BY navn");
}
else
{
    $q_vareDb = mysql_query("SELECT * FROM butik");
}
while($o_vareDb = mysql_fetch_array($q_vareDb))
{
$i=0;
  while ($o_vareDb = mysql_fetch_array($q_vareDb)) {
    $i++;
   
 
?>


<table width="600" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#FFFFFF">
  <tr style="background-color: <?=( $i++ % 2 ? "#8698C7" : "#7081AD" )?>">
    <td width="50"><? echo $i; ?></td>
    <td width="190" height="25"><span class="style10">&nbsp;<? echo $o_vareDb['navn']; ?></span></td>
    <td width="80" height="25" align="center"><span class="style10"><? echo $o_vareDb['janej']; ?></span></td>
    <td width="140" height="25" align="center"><span class="style10"><? echo $o_vareDb['got']; ?></span></td>
    <td width="140" height="25" align="center"><span class="style10"><? echo $o_vareDb['visited']; ?></span></td>
  </tr>
</table>
<?
}}
?>
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:30 #9
Du behøver ikke at skrive $i++ anden gang men kun $i
Avatar billede mazey Praktikant
16. november 2004 - 20:32 #10
Ok... så virker det... endnu engang tak!
Avatar billede erikjacobsen Ekspert
16. november 2004 - 20:32 #11
Oh hov, nej, kun een while løkke ;)
Avatar billede mazey Praktikant
16. november 2004 - 20:59 #12
Napper pointene igen, så! - :)
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