24. juli 2005 - 16:46Der er
9 kommentarer og 1 løsning
udskrive hveranden linie som grå
Jeg har i nedenstående ouput, lavet det sådan at hver anden linie skal være grå..... men da nogle biler bliver solgt udgår de af resultatet. Dermed ødelægger det systemet med at hver anden er grå og de andre er hvide..........
if ($_POST[prisvalg] != '1') { $where[] = "bil_pris.id = '" . $_POST[prisvalg] . "'"; } if ($_POST[kmvalg] != '1') { $where[] = "bil_km.id = '" . $_POST[kmvalg] . "'"; } $foresp = mysql_query(" SELECT bil_bil.km, bil_bil.pris, bil_bil.id, bil_bil.maerke, bil_bil.model, bil_bil.type, bil_bil.variant, bil_model.model AS model1, bil_maerke.maerke AS maerke1, bil_type.type AS type1, bil_variant.variant AS variant1, bil_bil.sold FROM bil_bil LEFT JOIN bil_maerke ON bil_maerke.id = bil_bil.maerke LEFT JOIN bil_model ON bil_model.id = bil_bil.model LEFT JOIN bil_type ON bil_type.id = bil_bil.type LEFT JOIN bil_variant ON bil_variant.id = bil_bil.variant INNER JOIN bil_pris ON (bil_pris.low IS NULL OR bil_bil.pris >= bil_pris.low) AND (bil_pris.high IS NULL OR bil_bil.pris <= bil_pris.high) INNER JOIN bil_km ON (bil_km.low IS NULL OR bil_bil.km >= bil_km.low) AND (bil_km.high IS NULL OR bil_bil.km <= bil_km.high)
".(count($where)?"WHERE ".implode(" AND ",$where):"")." GROUP BY bil_bil.id ORDER BY bil_bil.id desc ");
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
if ($_POST[prisvalg] != '1') { $where[] = "bil_pris.id = '" . $_POST[prisvalg] . "'"; } if ($_POST[kmvalg] != '1') { $where[] = "bil_km.id = '" . $_POST[kmvalg] . "'"; } $foresp = mysql_query(" SELECT bil_bil.km, bil_bil.pris, bil_bil.id, bil_bil.maerke, bil_bil.model, bil_bil.type, bil_bil.variant, bil_model.model AS model1, bil_maerke.maerke AS maerke1, bil_type.type AS type1, bil_variant.variant AS variant1, bil_bil.sold FROM bil_bil LEFT JOIN bil_maerke ON bil_maerke.id = bil_bil.maerke LEFT JOIN bil_model ON bil_model.id = bil_bil.model LEFT JOIN bil_type ON bil_type.id = bil_bil.type LEFT JOIN bil_variant ON bil_variant.id = bil_bil.variant INNER JOIN bil_pris ON (bil_pris.low IS NULL OR bil_bil.pris >= bil_pris.low) AND (bil_pris.high IS NULL OR bil_bil.pris <= bil_pris.high) INNER JOIN bil_km ON (bil_km.low IS NULL OR bil_bil.km >= bil_km.low) AND (bil_km.high IS NULL OR bil_bil.km <= bil_km.high)
".(count($where)?"WHERE ".implode(" AND ",$where):"")." GROUP BY bil_bil.id ORDER BY bil_bil.id desc ");
$RowNo = 0; while ($data = mysql_fetch_array($foresp)) {
Seriøst wicez, din metode behandler jo blot symptomerne.
Selvom den rent faktisk løser problemet som det er formuleret i dette tilfælde, vil jeg til enhver tid argumentere for at problemet skal løses ved roden. Og riden er i dette tilfælde selve SQL-kaldet som skal udtrække det der er brug for, og hverken mere eller mindre.
Jeg vil også argumentere for at dette giver en PHP-kode som er både mere logisk og mere simpel og derfor også nemmere at vedligeholde.
Synes godt om
Slettet bruger
24. juli 2005 - 22:51#7
Jeg kan kun give dig ret, og jeg ville til hver en tid vælge den løsning du har fremlagt. Der er ingen grund til, at lave det mere besværligt i php, hvis det kan laves allerede i MySQL'en.
Grunden til at jeg, i modsætning til hvad jeg selv ville gøre, rettede php'en så den nu gør hvad den er tiltænkt er, at jeg ud fra overgreats kode vil vurdere, at han er en smule ny indenfor php, og måske har lettere ved at forstå en lille ændring i php-scriptet, end en ændring i MySQL-querien.
Selv tak. Dog vil jeg anbefale dig at kigge lidt på nielles løsning, da den er mere korrekt, og en hel del simplere end min "on the fly" rettelse af din kode.
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.