03. december 2009 - 22:40Der er
5 kommentarer og 1 løsning
Hjælp til søgning
Til brug i en JPgraph skal jeg lave et udtræk fra min database. jeg ønsker at afbillede hvor mange procent af mine "procedurer" der har resultat='succes'. Til det formål har jeg lavet følgende script:
$data = array(); $data2 = array(); $leg = array(); $i=0; $sql = mysqli_query ($conn, "SELECT procedurer, COUNT(procedurer) AS antal FROM erfaring_procedurer WHERE user = '$_SESSION[user]' AND resultat='succes' GROUP BY procedurer"); while ($row = mysqli_fetch_array($sql)) { $data[] = $row['antal']; } $sql = mysqli_query ($conn, "SELECT procedurer, COUNT(procedurer) AS antal FROM erfaring_procedurer WHERE user = '$_SESSION[user]' GROUP BY procedurer"); while ($row = mysqli_fetch_array($sql)) { $data2[] = $data[$i]/$row['antal']*100; $leg[] = $row['procedurer']." (".$row['antal'].")"; $i=$i+1; }
Det virker perfekt så længe man bare har en resultat='succes' for hver procedure, men hvis resultat='fejl' for alle forekomster af en given procedure, så bliver der selvfølgelig ikke lige mange elementer i ovenstående to søgninger. Er der nogen der har en ide til hvordan det problem løses?
Jeg skal simpelthen bare have indsat et '0' hvis der ikke er nogen forekomster af resultat='succes'. Håber nogen forstår hvad jeg mener:-)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det går vel ikke blot at indsætte et nul, så vil $data2[] = $data[$i]/$row['antal']*100; vel forsøge at dividere med dette og skabe en divide by zero-fejl.
Jeg synes ikke helt jeg kan gennemskue din kode ellers, så det her er bare et vildt skud i tågen - kan du ikke blot undlade at køre $data2[] = $data[$i]/$row['antal']*100; $leg[] = $row['procedurer']." (".$row['antal'].")"; hvis $row['antal'] er nul?
wanze, dit forslag virker ikke. Der ville for øvrigt ikke være noget problem med at indsætte et nul, da det foregår i tælleren. acore, dit forslag virker perfekt:-) Det kan selvfølgelig simplificeres yderligere, da jeg nu kun laver en søgning. Takker mange gange.
Det er korrekt. Men det er jo den $row['antal'] der kommer fra anden søgning, der aldrig vil være tom. Det er kun når man bruger forudsætningen AND resultat='succes' i første søgning (som indgår i tælleren) at søgningen kan blive tom.
Procent succes = (Antal succes / Total) x 100
Synes godt om
Ny brugerNybegynder
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.