Avatar billede haolan Nybegynder
01. november 2005 - 21:05 Der er 17 kommentarer og
1 løsning

Skal kun vise i besteme tilfælde

Jeg har en formular, hvor at hvis man har meldt sig som kommer, skal den ikke give muligheden for at skrive at man kommer osv.

Se scripet jeg har lavet herunder:
$tjek_tilmeldt = mysql_query("SELECT * FROM raidtilmeldt WHERE ref = '".$r['id']."' AND stamme = '".$_SESSION['user']."'") or die(mysql_error());
   
    while($tjek = mysql_fetch_array($tjek_tilmeldt)) {
    $tjek_antal = mysql_query("SELECT COUNT(*) AS total from raidtilmeldt WHERE ref = '".$r['id']."' AND stamme = '".$_SESSION['user']."'") or die(mysql_error());
    $tjek_antal = mysql_result($tjek_antal,0);

if($tjek_antal = 0) {
echo "<form action='menupunkt.php?mode=raid' method='post'>";
echo " Kommer: <input type='radio' name='meld' value='1'>&nbsp;&nbsp;&nbsp;";
echo " Kommer ikke: <input type='radio' name='meld' value='2'>&nbsp;&nbsp;&nbsp;";
echo " Kommer måske: <input type='radio' name='meld' value='3'>&nbsp;&nbsp;&nbsp;";
echo "<input type='hidden' name='ref' value='".$r['id']."'>";
echo "<input type='submit' value='Udfør'>";
echo "</form>";
}

elseif($tjek['meld'] == 1) {
echo "<form action='menupunkt.php?mode=raid' method='post'>";
echo " Kommer ikke: <input type='radio' name='meld' value='2'>&nbsp;&nbsp;&nbsp;";
echo " Kommer måske: <input type='radio' name='meld' value='3'>&nbsp;&nbsp;&nbsp;";
echo "<input type='hidden' name='ref' value='".$r['id']."'>";
echo "<input type='submit' value='Udfør'>";
echo "</form>";
}

elseif($tjek['meld'] == 2) {
echo "<form action='menupunkt.php?mode=raid' method='post'>";
echo " Kommer: <input type='radio' name='meld' value='1'>&nbsp;&nbsp;&nbsp;";
echo " Kommer måske: <input type='radio' name='meld' value='3'>&nbsp;&nbsp;&nbsp;";
echo "<input type='hidden' name='ref' value='".$r['id']."'>";
echo "<input type='submit' value='Udfør'>";
echo "</form>";
}

elseif($tjek['meld'] == 3) {
echo "<form action='menupunkt.php?mode=raid' method='post'>";
echo " Kommer: <input type='radio' name='meld' value='1'>&nbsp;&nbsp;&nbsp;";
echo " Kommer ikke: <input type='radio' name='meld' value='2'>&nbsp;&nbsp;&nbsp;";
echo "<input type='hidden' name='ref' value='".$r['id']."'>";
echo "<input type='submit' value='Udfør'>";
echo "</form>";
}

Problemet er at den viser intet uanset hvad. Hvad gør jeg galt?
Avatar billede jaw Nybegynder
01. november 2005 - 21:07 #1
Denne:
  if($tjek_antal = 0) {
skal i hvert fald være:
  if($tjek_antal == 0) {
Avatar billede haolan Nybegynder
01. november 2005 - 21:14 #2
jeps har jeg også forsøgt mig med, men det nytter ikke
Avatar billede jaw Nybegynder
01. november 2005 - 21:26 #3
Sikker på at den henter det du tror den henter?

Tænker mest på denne:
$tjek_tilmeldt = mysql_query("SELECT * FROM raidtilmeldt WHERE ref = '".$r['id']."' AND stamme = '".$_SESSION['user']."'") or die(mysql_error());
...hvis ikke den finder noget, vil du jo også ende med en tom skærm.

Du kan evt. som debug prøve:
echo ("SELECT * FROM raidtilmeldt WHERE ref = '".$r['id']."' AND stamme = '".$_SESSION['user']."'";
Avatar billede haolan Nybegynder
01. november 2005 - 21:28 #4
jamen det den skal gøre er at udskrive:

echo "<form action='menupunkt.php?mode=raid' method='post'>";
echo " Kommer: <input type='radio' name='meld' value='1'>&nbsp;&nbsp;&nbsp;";
echo " Kommer ikke: <input type='radio' name='meld' value='2'>&nbsp;&nbsp;&nbsp;";
echo " Kommer måske: <input type='radio' name='meld' value='3'>&nbsp;&nbsp;&nbsp;";
echo "<input type='hidden' name='ref' value='".$r['id']."'>";
echo "<input type='submit' value='Udfør'>";
echo "</form>";

Hvis der ikke er noget resultat
Avatar billede jaw Nybegynder
01. november 2005 - 21:29 #5
Jo, jo, men du skal jo minimum have 1 resultat i din første forespørgsel for at:
    while($tjek = mysql_fetch_array($tjek_tilmeldt)) {
... bliver aktiveret. Og hvis ikke den bliver aktiveret, bliver 2. forespørgsel og derved resten af scriptet jo ikke kørt.
Avatar billede haolan Nybegynder
01. november 2005 - 21:31 #6
ok.. men er der så en anden måde det kan laves på?
Avatar billede jaw Nybegynder
01. november 2005 - 21:33 #7
Altså jeg kan slet ikke se hvad du bruger den første forespørgsel til. Du bruger ikke variabler fra den i 2. forespørgsel, så mit umiddelbare bud ville være at fjerne den :) - men igen, jeg ved jo ikke heeeelt hvad det er du vil opnå med koden...
Avatar billede haolan Nybegynder
01. november 2005 - 21:37 #8
Altså med koden vil jeg sørge for at brugerne ikke kan tilmelde sig til et givent arrangement op til flere gange, derfor fjerner jeg den radiobutten der hedder 'kommer' hvis man allerede har meldt ud at man kommer og det samme gælder hvis man har meldt at man ikke kommer så kan man ikke melde det samme igen.

Og har man slet ikke meldt noget, så skal man kunne vælgte frit mellem alle tre muligheder!
Avatar billede jaw Nybegynder
01. november 2005 - 21:39 #9
Ok, men så synes jeg du i første omgang skal fjerne din første forespørgsel. (Husk evt. back-up af filen)
Avatar billede haolan Nybegynder
01. november 2005 - 21:41 #10
jamen første forespørgsel bruges jo til at kalde dem der:
elseif($tjek['meld'] == 3) {
Avatar billede jaw Nybegynder
01. november 2005 - 21:45 #11
Nå ja for pokker da :) Det havde jeg ikke set, beklager... Jeg sidder lige begravet i en opgave, så jeg kan ikke lige overskue det, men et bud vil være at bytte om på rækkefølgen af de 2 - hvis du forstår.

Ellers vil jeg gerne se nærmere på den og komme med en bedre løsning (forhåbentlig) senere, hvis ikke andre eller dig selv har klaret det i mellemtiden.
Avatar billede haolan Nybegynder
01. november 2005 - 21:48 #12
yep, det må du meget gerne :) så prøver jeg en masse forskelligt imellemtiden.. jeg har trods alt 17 dage til at gøre skidtet færdigt i :D
Avatar billede haolan Nybegynder
01. november 2005 - 21:55 #13
Det duer ihvertfald bytte dem om, for så bliver while jo afsluttet før if
Avatar billede haolan Nybegynder
01. november 2005 - 22:04 #14
Ahh fandt løsningen nu :)

Hvis jeg rykker den første forespørgsel ned under den første mulighed altså den med if($tjek_antal = 0) {

og ændre derefter den første elseif til en if sætning, så virker det :)
Avatar billede jaw Nybegynder
01. november 2005 - 22:06 #15
Det lyder ikke helt tosset :)
Avatar billede haolan Nybegynder
01. november 2005 - 22:07 #16
nope.. læg svar for points :) det var trods alt dig der ledte mig på rette spor
Avatar billede jaw Nybegynder
01. november 2005 - 22:08 #17
Så takker jeg da :)
Avatar billede haolan Nybegynder
01. november 2005 - 22:12 #18
Jeg takker også
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