abonnement Unibet Coolblue Bitvavo
  dinsdag 31 januari 2006 @ 13:57:04 #201
65471 SkaterSam
Lurking Galore
pi_34646132
Ok, nog een vraagje, hoe maak je iets sticky? Dus dat het bovenaan de resultaten lijst blijft staan. Zowiezo moet je een tabel hebben waarin een label 'sticky' is geplaatst (met als waardes true of false), en dan moet je die met een query sorteren, maar ik kan even niet begrijpen hoe de query zal zijn, moet je dan een dubbel ORDER BY hebben??

1SELECT * FROM table ORDER BY sticky, datum DESC LIMIT 0,15

Maar moet je dan niet aangeven dat ie alleen die stickys plaatst die true zijn?
Let's make life easy
Typo's are the demon spawn from hell !
pi_34646546
ORDER BY sticky DESC, datum DESC

je moet ze beiden defineren. ik heb het verhaal niet gevolgd, maar als een sticky waarde 1 heeft, zettie die dus automatisch bovenaan (mits de niet-sticky's 0 hebben)
As a rule, I never touch anything more sophisticated and delicate than myself.
  dinsdag 31 januari 2006 @ 14:15:29 #203
65471 SkaterSam
Lurking Galore
pi_34646743
Ja, ik heb dus nu gewoon een field sticky aan de tabel toegevoegd met de waardes: yes en no, en dan inderdaad wat jij zei, en dat doet ie het, aangezien Y eerder zou komen dan N, weet ik dat ook weer
Let's make life easy
Typo's are the demon spawn from hell !
pi_34647348
quote:
Op dinsdag 31 januari 2006 14:15 schreef SkaterSam het volgende:
Ja, ik heb dus nu gewoon een field sticky aan de tabel toegevoegd met de waardes: yes en no, en dan inderdaad wat jij zei, en dat doet ie het, aangezien Y eerder zou komen dan N, weet ik dat ook weer
Ik zou wel eerder gebruik maken van 1 of 0.
  dinsdag 31 januari 2006 @ 16:16:50 #205
65471 SkaterSam
Lurking Galore
pi_34650416
quote:
Op dinsdag 31 januari 2006 14:34 schreef the_disheaver het volgende:
Ik zou wel eerder gebruik maken van 1 of 0.
Dit is makkelijker te controleren? Of leest het sneller uit de DB, of is het gewoon logischer?

vroeg ik me af
Let's make life easy
Typo's are the demon spawn from hell !
pi_34650459
quote:
Op dinsdag 31 januari 2006 14:34 schreef the_disheaver het volgende:

[..]

Ik zou wel eerder gebruik maken van 1 of 0.
Eens. De programmalogica wordt duidelijk eenvoudiger door 0 en 1 ipv "N" en "Y".
  dinsdag 31 januari 2006 @ 17:07:20 #207
69357 R-Mon
jong en dynamisch
pi_34652015
Probleempje met for-loops.

Ik heb twee arrays, eentje met nieuwe waarden en eentje met oude waarden. Het aantal kan verschillen en de nieuwe moeten in de db worden gezet.

Maar omdat het aantal kan verschillen verschillen ook de queries die moeten worden uitgevoerd elke keer. Dus heb ik dit:

1
2
3
4
5
6
7
8
9
if(count($new) == count($old)) {
// update
}
elseif(count($new) < count($old)) {
// update, delete
}
elseif(count($new) > count($old)) {
// update, insert
}


Nou loop ik vast op het punt waar vergeleken moet worden hoeveel waarden ge-updatemoeten worden en hoeveel waarden er ge-delete/ge-insert moeten worden (de for-loops binnen deze if-jes dus). Hopelijk kan iemand me hiermee helpen (als dit duidelijk genoeg is).
&lt;tsjsieb&gt; maarja, jij bent ook gewoon cool R-Mon :p
pi_34652463
quote:
Op dinsdag 31 januari 2006 16:16 schreef SkaterSam het volgende:

[..]

Dit is makkelijker te controleren? Of leest het sneller uit de DB, of is het gewoon logischer?

vroeg ik me af
Semantisch gezien is het logischer om 'y' en 'n' te gebruiken, maar aangezien je op een sticky status wilt sorteren kun je beter voor 0 en 1 kiezen omdat je dan zeker weet welke waarde bovenaan komt. Bij 'y' en 'n' is dat maar gokken (MySQL sorteert ze geloof ik op volgorde dat ze gedefinieerd zijn, maar dit hoeft dus niet persé zo te zijn).
pi_34652556
quote:
Op dinsdag 31 januari 2006 17:07 schreef R-Mon het volgende:
Probleempje met for-loops.
-snip-
Door gebruik te maken van array_diff() kun je ontdekken welke waarden er zijn weggehaald en welke er zijn toegevoegd. Echter, als je maar met één soort waarde werkt weet ik niet waarom je ooit een UPDATE zal uitvoeren?
pi_34652925
hmm het volgende stukje code werkt wel, maar het lukt mij onmogelijk om de mededelingen: tekst, en de marquee naast elkaar te krijgen.. iemand enig idee hoe dit aan te pakken?

1
2
3
<?php
                                   
echo"          <td class='row4'><span class='desc'><font size = 2 color = gray>[12:34] </font><font size = 2 color = red>Mededelingen: </font> <font size = 2 color = purple> <marquee Direction='up' loop='true' height='10'  hspace='30'  scrollamount='1' scrolldelay='70'>$reactielijn</marquee></font><br /></span></td>";
?>
  dinsdag 31 januari 2006 @ 18:08:19 #211
69357 R-Mon
jong en dynamisch
pi_34653794
quote:
Op dinsdag 31 januari 2006 17:25 schreef JeRa het volgende:

[..]

Door gebruik te maken van array_diff() kun je ontdekken welke waarden er zijn weggehaald en welke er zijn toegevoegd. Echter, als je maar met één soort waarde werkt weet ik niet waarom je ooit een UPDATE zal uitvoeren?
Er moet ook ge-update kunnen worden omdat, kijk. Het is voor een poll. Ik heb een tabel options met de velden id,pollid,option,votes. Als je een poll wilt editten wordt elke option die bij een gegeven pollid hoort ingeladen in een form. Form wordt gesubmit, dit moet verwerkt worden. Er zijn tien input's voor de opties dus er kunnen er maximaal 10 worden gesubmit maar er kunnen ook een paar léég zijn.
Stel ik verbeter in één van de opties een tikfoutje, maar ik voeg ook twee opties toe. Dan moet er dus ge-update en ge-insert worden.

Wat ik nu heb in if(count($new) > count($old)) is dit (werkt niet):
1
2
3
4
5
6
7
8
9
10
11
12
13
for($x=0;$x<count($old);$x++) {

   // UPDATE
   
   $queryUpdateOption = "UPDATE " . $tableOptions . 
             " SET `option`='" . $new[$x] . "' WHERE `id`=" . $old[$x]['id'];
   
}
for($x=count($old)+1;$x<count($new);$x++) {
   
   // INSERT $new[$x];
   
}


De volgorde van de arrays is geen probleem, ik weet dat de volgordes overeenkomen. Maar hoe ik die for-loops moet controleren, dat wanneer voor de lengte van de kleinste is ge-update, verder wordt gegaan met het inserten van de rest. Dat is het.
&lt;tsjsieb&gt; maarja, jij bent ook gewoon cool R-Mon :p
pi_34653817
vanaf nu geld hier een LIFO afhandelings procedure
pi_34653885
quote:
Op dinsdag 31 januari 2006 17:37 schreef LeeHarveyOswald het volgende:
hmm het volgende stukje code werkt wel, maar het lukt mij onmogelijk om de mededelingen: tekst, en de marquee naast elkaar te krijgen.. iemand enig idee hoe dit aan te pakken?
[ code verwijderd ]
CSS gebruiken? float: left enzo.

Waarom eigenlijk zoveel html laten echo´en?
pi_34653905
quote:
Op dinsdag 31 januari 2006 18:12 schreef the_disheaver het volgende:

[..]

CSS gebruiken? float: left enzo.

Waarom eigenlijk zoveel html laten echo´en?
Vanuit groot php document met beveiliging enzo Alleen selecte groep users mag dit zien, maar met een DIE is het hele document (Forum) uitbeeld, en dat is ook weer niet de bedoeling. .....
pi_34653975
1
2
3
4
5
6
7
8
9
<td class='row4'>
<span class='desc'>
<font size = 2 color = gray style='float:left'>[12:34] </font>
<font size = 2 color = red style='float:left'>Mededelingen: </font> 
<font size = 2 color = purple style='float:left'> 
<marquee Direction='up' loop='true' height='10'  hspace='30'  scrollamount='1' scrolldelay='70'>$reactielijn</marquee>
</font>
<br /></span></td>";
?>

Zoiets misschien? Niet getest enzo
pi_34654059
quote:
Op dinsdag 31 januari 2006 17:22 schreef JeRa het volgende:

[..]

Semantisch gezien is het logischer om 'y' en 'n' te gebruiken, maar aangezien je op een sticky status wilt sorteren kun je beter voor 0 en 1 kiezen omdat je dan zeker weet welke waarde bovenaan komt. Bij 'y' en 'n' is dat maar gokken (MySQL sorteert ze geloof ik op volgorde dat ze gedefinieerd zijn, maar dit hoeft dus niet persé zo te zijn).
Om het makkelijker te maken kun je ook nog char(1) gebruiken.

Ander voordeel van 0 en 1 boven 'n' en 'y' is dat iedere (beetje) programmeertaal bij boolean vergelijkingen 0 en false gelijkstelt, net als 1 (niet 0) en true. Er is geen enkele taal die 'n' naar false zal omzetten. Dan wordt iets als
1
2
3
if ($sticky) {
...

alweer minder, omdat er meer vergelijkingen nodig zijn.
pi_34654876
quote:
Op dinsdag 31 januari 2006 18:16 schreef the_disheaver het volgende:

[ code verwijderd ]

Zoiets misschien? Niet getest enzo
Dat werkt Thnq!!!
pi_34665066
Ik heb in windows een script gebouwd. Maar nu zit ik voornamelijk onder linux. En daar gaat forwarden met hetzelfde script niet goed.

1
2
3
<?php
header
('Location: index.php');
?>

Ik krijg ook geen foutmeldingen te zien. Kan een of ander php.ini instelling hier iets te maken mee hebben?

edit: lijkt toch iets anders te zijn... hij pakt de logoutpagina pas na een refresh.... vreemd. Alleen door het gehele script te posten zou ik geholpen kunnen worden. En das een beetje veel

Laat maar voor even dus
  FOK!-Schrikkelbaas dinsdag 31 januari 2006 @ 23:09:14 #219
1972 Swetsenegger
Egocentrische Narcist
pi_34665111
1
2
3
<?php
header
('Location: '.$_SERVER['PHP_SELF']);
?>


werkt dit wel?
pi_34665257
quote:
Op dinsdag 31 januari 2006 23:09 schreef Swetsenegger het volgende:

[ code verwijderd ]

werkt dit wel?
Nee, zie mijn edit. Maar het is wel een betere manier. Tenminste, geeft ie ook de attributen erbij mee? (dus ?id=2) (wat dus niet moet) ow, maakt volgens mij niets uit...
pi_34665646
edit2: het ligt toch echt aan de header();
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (!isset($_SESSION['general']['afdeling'])) {
    if (isset(
$_POST['afdeling'])) {
        
$_SESSION['general']['afdeling'] = $_POST[afdeling];
        
header('Location: '.$_SERVER['PHP_SELF']);
    }
    print
$keuzeformulier_afdeling
}
if (isset(
$_SESSION['general']['afdeling'])) {
      print
$afdeling_gegevens
}
?>

Na het inzenden van het formulier print hij zowel het keuze formulier opneuw af, als de afdeling_gegevens, terwijl in feite na het inzenden van de form een session gezet moet worden, en de pagina opnieuw geladen moet worden . Daardoor zal het form niet meer weergegeven worden (immers, isset($_SESSION) is true, maar alleen de afdelinggevens.

Hier maakt het weinig uit, door middel van een else {} is het makkelijk op te lossen, maar later zal het script echt opnieuw geladen moeten worden aangezien hetzelfde script meerdere malen uitgevoerd zal moeten worden.

Ofwel, de header() doet het niet op linux. Zonder foutmeldingen in error.log. Wat kan het zijn?

[ Bericht 74% gewijzigd door the_disheaver op 31-01-2006 23:44:09 ]
pi_34668288
En opgelost: waarschijnlijk zat in de windows php.ini de output_buffering wel on, maar in linux niet. Dat maakte het verschil Hij doet het nu!
  woensdag 1 februari 2006 @ 02:44:01 #223
32768 DionysuZ
Respect my authority!
pi_34669951
kan je een location header naar een relative path laten verwijzen? ik dacht dat die alleen absolute paths nam.
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
pi_34670649
quote:
Op woensdag 1 februari 2006 02:44 schreef DionysuZ het volgende:
kan je een location header naar een relative path laten verwijzen? ik dacht dat die alleen absolute paths nam.
Ja, dat kan, en nee, het is geen good practice
  woensdag 1 februari 2006 @ 08:20:14 #225
19840 Libris
Live from Singapore
pi_34671018
Ik heb een form met verschillende buttons, die elk verschillende value en name hebben. Hoe kan ik de value en name aflezen uit de $_POST na een submit?

Met
1
2
3
foreach ($_POST as $control) {
   echo "control: ".$control."<br>";
}

Krijg ik alleen de value, niet de naam...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')