Avatar billede andsvel Nybegynder
17. september 2008 - 10:42 Der er 4 kommentarer og
2 løsninger

check om 1 eller 0 i alle rækker

Hey !
Jeg har sjovt nok brug for lidt hjælp ;)

Jeg har en tabel, hvori der er et felt der hedder check.

check er endten 1 eller 0.
Desuden har jeg et felt der hedder uid (under id)
dette variere men kan være det samme..

Jeg henter alt (*) hvor uid = $uid
uid er defineret udfra brugerens valg.

Det ryger ud i en while(){

og udskriver linjerne der måtte være.
}

Nu vil jeg gerne have en værdi der er $check_all == true (hvis alle linjer den finder er 1)

eller $check_all == false (hvis der er en eller flere linjer hvor check er 0)

Jeg kan echo $check, og se om check er 1 eller 0 for hver linje.
Men jeg kan rent kodningsmæssigt ikke se mig ud af, hvordan jeg får den til at løbe linjerne igennem, og sætte $check_all.

nogen der kan give nogle pointers/eksempler på dette?
Avatar billede pidgeot Nybegynder
17. september 2008 - 10:45 #1
Vælg selv:

Brug af den boolske operator AND:
$check_all = true;
while (...) {
//...
$check_all = $check_all && $check;
//...
}

Kontrol af hver enkelt:
$check_all = true;
while (...) {
//...
if (!$check)
$check_all = false;
//...
}
Avatar billede pidgeot Nybegynder
17. september 2008 - 10:46 #2
$check_all indeholder i begge tilfælde dit endelige svar når du har været alle linjer igennem.
Avatar billede arne_v Ekspert
17. september 2008 - 10:48 #3
Det er vel mere et PHP problem end et MySQL problem ??

Men ellers:

$check_all = true;
while(...) {
  $check = ...
  if($check == 0) $check_all = false;
}

Hvis vaerdierne kun kan vaere 0 og 1 saa vil:

SELECT SUM(felt) AS sumfelt,COUNT(felt) AS countfelt FROM ...

og saa teste paa om sumfelt == countfelt goere det samme !
Avatar billede andsvel Nybegynder
17. september 2008 - 11:20 #4
perfekt :-) Og jo, det kan du have ret i arne_v, det beklager jeg.

Nu skrev pidgeot først, men jeg brugte "if($check == 0)" og ikke "if (!$check)
" :-)

Men jeg så helst i lagde et svar begge.

tak for hjælpen !
Avatar billede pidgeot Nybegynder
17. september 2008 - 11:38 #5
Værsgo :)

I kraft af PHP's typesystem er der ingen funktionel forskel på de to, forsekllen er udelukkende syntaktisk.
Avatar billede arne_v Ekspert
17. september 2008 - 12:56 #6
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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