/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Vise fra Mysql med betingelse
Fra : Nederbasse


Dato : 17-09-04 10:50


Hej Gruppe

Jeg har lavet et evalueringsskema hvor besøgende kan indtaste data om deres
besøg.
De skal ogs indtaste navn, skolens navn, kontakt person, o.s.v.
Nu er der nogen der har fundet ud af at måske ikke er så smart hvis siden
der viser indholdet i databasen også viser 'personlige' oplysninger
Man kan så nu vælge på formen om man vil vise sinev oplysninger, det er
lavet med et text felt der enten har værdien Ja/Nej

Men jeg kan ikke få den til at vise alle evaluerings data og kun personlige
data fra den der har svaret Ja til personlige data må vises.
Hvad gør man ?

Her er koden:

<?php
$conn = mysql_connect("localhost", "XXXXX", "XXXXXX");
mysql_select_db("XXXXXX");
$result = mysql_query("SELECT * FROM gyminfo, gym_besoegt WHERE
gym_besoegt.id = gyminfo.besoegt");
if (mysql_num_rows($result)) {
while ($row = mysql_fetch_array($result)) {
?>

<table border="1" width="100%" cellspacing="0">
<tr>
<td >Fag</td><td><? echo $row["fag"]; ?></td>
</tr><tr>
<td>Andet fag</td> <td><? echo $row["fag_andet"]; ?></td>
<td>By</td><td><? echo $row["gym_by"]; ?></td>

Mere kode

<?php
}
}
else {
echo "Der er inge informationer i databasen" ;
}

mysql_close($conn);
?>

Lars




 
 
Dan Storm (17-09-2004)
Kommentar
Fra : Dan Storm


Dato : 17-09-04 17:29

der kan du med fordel indsætte et felt mere i din mysql tabel (kald den
'public') som du sætter med enten 1 (for ja) eller 0 (for nej)

SÅ skriv din kode således:
<?php
$conn = mysql_connect("localhost", "XXXXX", "XXXXXX");
mysql_select_db("XXXXXX");
$result = mysql_query("SELECT * FROM gyminfo, gym_besoegt WHERE
gym_besoegt.id = gyminfo.besoegt");
if (mysql_num_rows($result)) {
while ($row = mysql_fetch_array($result)) {
echo '<table border="1" width="100%" cellspacing="0">
<tr>
<td >Fag</td><td><? echo $row["fag"]; ?></td>
</tr><tr>
<td>Andet fag</td> <td>';
   if($row['public'] == 1) {
      echo $row["fag_andet"];
   }
echo '</td>
<td>By</td><td>';
   if($row['public'] == 1) {
      echo $row["gymby"];
   }

echo '</td>
';

?>

Mere kode

<?php
}
}
else {
echo "Der er inge informationer i databasen" ;
}

mysql_close($conn);
?>

--
Dan Storm

http://err0r.dk
storm@err0r.dk

PGP Public key på http://err0r.dk/pubring.pkr

>>> husk på; en ekspert er en person der har begået alle fejl mulige
inden for et bestemt område



Nederbasse (20-09-2004)
Kommentar
Fra : Nederbasse


Dato : 20-09-04 08:02

| if($row['public'] == 1) {
| echo $row["gymby"];

| http://err0r.dk
| storm@err0r.dk
|
| PGP Public key på http://err0r.dk/pubring.pkr
|

Lige et side spørgsmål, hvad betyder == ?
jeg har ikke kunne finde noget om det nogen steder

Lars



Bertel Lund Hansen (20-09-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 20-09-04 08:46

Nederbasse skrev:

>Lige et side spørgsmål, hvad betyder == ?

Der er to forskellige lighedstegn.

Det ene bruges når man bestemmer at en variabel skal have en
bestemt værdi:

   $var=711;

Det andet bruges når man skal undersøge hvilken værdi en variabel
eller et udtryk) har:

   if ($var==177) echo "Hurra!";

Det er en velkendt og ret lusket fejl at bytte om på de to
lighedstegn. Man må nemlig gerne skrive sådan:

   if ($var=177) echo "Hurra!";

men det gør noget helt andet end forventet hvis der skulle have
stået ==. Det tvinger nemlig $var til at få værdien 177, og det
returnerer et tal forskelligt fra 0 så der *altid* vil blive
skrevet "Hurra!".

Et fif som nogle bruger for at undgå fejlen:
Byt altid om på tal og variabel ved if-udtryk som her:

   if (177==$var) echo "Hurra!";

Hvis man så kommer til at skrive

   if (177=$var) echo "Hurra!";

får man en fejl.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Nederbasse (23-09-2004)
Kommentar
Fra : Nederbasse


Dato : 23-09-04 13:44

SNIP
| Et fif som nogle bruger for at undgå fejlen:
| Byt altid om på tal og variabel ved if-udtryk som her:
|
| if (177==$var) echo "Hurra!";
|
| Hvis man så kommer til at skrive
|
| if (177=$var) echo "Hurra!";
|
| får man en fejl.
|
| --
| Bertel
| http://bertel.lundhansen.dk/ FIDUSO: http://fiduso.dk/

Og så siger de PHP er lettere end ASP

Tak for forklaringen

Lars



Jeppe Uhd (23-09-2004)
Kommentar
Fra : Jeppe Uhd


Dato : 23-09-04 15:22

Bertel Lund Hansen wrote:
> Nederbasse skrev:
>
>> Lige et side spørgsmål, hvad betyder == ?
>
> Der er to forskellige lighedstegn.

Faktisk er der 3...

Enkelt lighedstegn: Tildeling
$a=3;
$a har herefter værdien 3

Dobbelt lighedstegn: Sammenligning af værdi
$a=3;
if($a==3) { echo 'true';} else { echo 'false';} // skriver 'true';
if($a=="3") { echo 'true';} else { echo 'false';} // skriver 'true';

Trippelt lighedstegn: Sammenligning af værdi + type
$a=3;
if($a===3) { echo 'true';} else { echo 'false';} // skriver 'true';
if($a==="3") { echo 'true';} else { echo 'false';} // skriver 'false';


--
MVH Jeppe Uhd - NX http://nx.dk
Webhosting for nørder og andet godtfolk



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste