abonnement Unibet Coolblue Bitvavo
pi_43503563
$query = "UPDATE Cart SET Extrainfo = Extrainfo + 'rn bla' WHERE Domain = '".$key."' AND SessionID = '".session_id()."'";

ik had eigenlijk gehoopt dat hij met deze query de informatie achter de huidige bestaande waarde zou zetten.. maar de waarde wordt geupdate naar 0, wat mij het idee geeft dat hij probeert op te tellen. Is er een manier om dit toch voor elkaar te boxen?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_43503656
Dat kan met de concat functie.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_43505014
hah!

werkt

danku.

( $query = "UPDATE Cart SET Extrainfo = concat(Extrainfo, 'rn bla') WHERE Domain = '".$key."' AND SessionID = '".session_id()."'"; voor geinteresseerden)
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_43512301
Ik heb deze query:

1
2
3
4
5
6
7
$sql =    mysql_query("
            SELECT *
            FROM dkm_disco_tracks
            INNER JOIN dkm_disco_albums
            ON dkm_disco_tracks.album = dkm_disco_albums.id
            ORDER BY dkm_disco_tracks.album, dkm_disco_tracks.track
") or die (mysql_error());


Ik wil de gegevens die uit deze query komen in een array kwijt die er zo uit ziet:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$array
=     Array // Aray die alle albums bevat
            
(

                
'Blackout' => Array // Array die alle songs van een album bevat
                
(
        
                    
'Walk Away',
                    
'Worker Song',
                    
'The Outcast',
                    
'Black Velvet Band',
                    
'Gonna Be A Blackout',
                    
'World Full of Hate'
        
                
),
        
                
'Sing Loud, Sing Proud' => Array // Array die alle songs van een album bevat
                
(
        
                    
'For Boston',
                    
'The Legend of Finn MacCumhail',
                    
'Which Side Are You On?',
                    
'The Rocky Road To Dublin',
                    
'Heroes from Our Past',
    
                )

            );
?>


mn database structuur is zo:

DKM_DISCO_ALBUMS(id, titel)
DKM_DISCO_TRACKS(id, track_titel, track_nr, album)

in DKM_DISCO_TRACKS is album het id van album in DKM_DISCO_ALBUMS

Ben al halve dag aan het kloten, maar wil niet lukken.
Gezocht: KAMER in UTRECHT
pi_43513600
Zo te zien heb je nog niets gebruikt van de tips die hier gegeven zijn.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_43513836
jawel... maar iemand anders heeft met met paar dingen opweg geholpen. en dat zag er iets anders uit.

met de bovenstaande query en deze php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$prevAlbum
= -1;

while(
$row = mysql_fetch_array($query))
{
   if(
$prevAlbum != $row['album'])
   {
      
// Album titel weergeven
      
if($prevAlbum != -1) echo "</ul>";
      echo
"<li><a href="#">$row[titel]</a></li><ul>";
      
$prevAlbum = $row['album'];
   }

   echo
"<li>$row[track_titel]</li>";
}
?>


Krijg ik de volgende uivoer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<ul>

  <li><a href="#">ALBUM TITLE 1</a>

    <ul>
      <li>TRACK TITEL 1</li>
      <li>TRACk TITEL 2</li>
      <li>TRACk TITEL 3</li>
      <li>...</li>
    </ul>

  </li>


  <li><a href="#">ALBUM TITLE 2</a>

    <ul>
      <li>TRACK TITEL 1</li>
      <li>TRACk TITEL 2</li>
      <li>TRACk TITEL 3</li>
      <li>...</li>
    </ul>

  </li>

</ul> 


Maar nu wil ik het niet in een lijst, maar in een array die er uitziet als hier boven. en dat wil niet lukken
Gezocht: KAMER in UTRECHT
pi_43523122
Oja, als je dubbele kolomnamen in je query hebt, dan rename je gewoon de kolommen in je tabellen :{

Het principe is hetzelfde als het maken van de lijst. Als je snapt hoe dat werkt, dan kan je op dezelfde manier die geneste array opbouwen.

1
2
3
4
5
6
7
8
9
initialiseer album array
while (loop over rows) 
{
   if (album id gewijzigd) 
   {
      nieuw item aan album array toevoegen
   }
   track titel toevoegen
}
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_43523566
Dat probleem had ik idd al gevonden.

Het titel in DKM_DISCO_TRACKS hernoemd naar track_titel
heb je iets mee info over hoe je array's opbouwt. heb hier nooit echt mee gewerkt. dus zou begod niet weten wat de mogelijkheden zijn
Gezocht: KAMER in UTRECHT
pi_43527718
M'n opmerking over het hernoemen van kolomnamen was ironisch bedoeld. Maar dat is blijkbaar niet over gekomen. Een handigere oplossing had ik eerder al gegeven: een alias gebruiken.
1SELECT a.titel AS titel1, b.titel AS titel2 FROM a INNER JOIN b ON a.id = b.id


Hoe je array's opbouwt kan je lezen in tutorials, bijvoorbeeld bij w3schools.com.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_43534431
ik weet niet of je er al uit bent, maar misschien is dit wat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
while($row = mysql_fetch_array($query))
{

  
$vars[$row['album']][] = $row[track_titel];

}

foreach (
$vars as $key => $value){
  echo
$key."<ul>";
  if (
is_array($value)){
    foreach (
$value as $value2){

      echo
"<li>".$value2."</li>";

    }
  }
  echo
"</ul>";
}
?>


niet getest overigens. ook niet gechecked op parse errors
As a rule, I never touch anything more sophisticated and delicate than myself.
  dinsdag 14 november 2006 @ 17:06:43 #191
135268 USAF
Sarcastisch als altijd
pi_43548221
Vraagje

Ik ben bezig met een systeem die per dag een aantal vragen weergeeft uit een database. In een textfield/textarea kunnen mensen deze vragen beantwoorden.

Nu wil ik dat de verschillende antwoorden (die in een andere tabel van de db staan) worden vergeleken met het ingevulde antwoord. Want als het goed is krijgt deze user een x-aantal punten.

Ik zat al te denken om de antwoorden in een array te zetten, maar hoe ik deze vervolgens vergelijk met het ingevulde antwoord....

Iemand een idee?
Commander of the Joint Chiefs
pi_43548461
if ($ingevoerde_waard == $waarde_uit_db)
{
user extra punten..
}
else
{
user krijgt niets..
}
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 17:24:29 #193
1972 Swetsenegger
Egocentrische Narcist
pi_43548849
quote:
Op dinsdag 14 november 2006 17:06 schreef USAF het volgende:
Vraagje

Ik ben bezig met een systeem die per dag een aantal vragen weergeeft uit een database. In een textfield/textarea kunnen mensen deze vragen beantwoorden.

Nu wil ik dat de verschillende antwoorden (die in een andere tabel van de db staan) worden vergeleken met het ingevulde antwoord. Want als het goed is krijgt deze user een x-aantal punten.

Ik zat al te denken om de antwoorden in een array te zetten, maar hoe ik deze vervolgens vergelijk met het ingevulde antwoord....

Iemand een idee?
Je wilt open vragen gaan vergelijken met antwoorden uit database?
pi_43550782
quote:
Op dinsdag 14 november 2006 17:24 schreef Swetsenegger het volgende:

[..]

Je wilt open vragen gaan vergelijken met antwoorden uit database?
Als hij ernaast een expertsysteem opzet is dat goed mogelijk.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  dinsdag 14 november 2006 @ 18:32:50 #195
12880 CraZaay
prettig gestoord
pi_43550945
quote:
Op dinsdag 14 november 2006 17:24 schreef Swetsenegger het volgende:

[..]

Je wilt open vragen gaan vergelijken met antwoorden uit database?
Moet te doen zijn, tot op zekere hoogte.
  dinsdag 14 november 2006 @ 18:33:34 #196
12880 CraZaay
prettig gestoord
pi_43550977
quote:
Op dinsdag 14 november 2006 09:16 schreef Desdinova het volgende:
ik weet niet of je er al uit bent, maar misschien is dit wat
[ code verwijderd ]

niet getest overigens. ook niet gechecked op parse errors
Zou een probleem op kunnen leveren wanneer je $vars[$row['album']] niet eerst declareert als array.
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 18:37:16 #197
1972 Swetsenegger
Egocentrische Narcist
pi_43551083
Ik zeg toch niet dat het niet gaat, ik wil allen duidelijkheid
Overigens zou IK niet weten hoe je dat technisch op moet lossen. Misschien met een soort thesaurus ofzo.
pi_43551227
quote:
Op dinsdag 14 november 2006 18:37 schreef Swetsenegger het volgende:
Ik zeg toch niet dat het niet gaat, ik wil allen duidelijkheid
Overigens zou IK niet weten hoe je dat technisch op moet lossen. Misschien met een soort thesaurus ofzo.
PHLIPS is een PHP extentie voor CLIPS, waarmee je expertsystemen kan bouwen.

Expertsystemen kunnen reageren op natuurlijke taal en daarmee zou je dan zoiets kunnen implementeren. Zo heb ik zelf eens een helpdesk gemaakt in CLIPS, die reageerde op vragen als: "Mijn XboX is stuk, wat moet ik doen?".

Deze vraag werd dan ingelezen door het systeem en gefilterd op bepaalde woorden. Er wordt gezocht naar een bekend onderwerp (XboX) en een probleem (stuk) en of er een negatie (bijv. niet) in voor komt. Aan de hand daarvan worden er dan in het programma bepaalde regels geactiveerd die een vervolgvraag stellen.

Overigens heb ik dat direct in CLIPS geschreven en geen gebruik gemaakt van PHLIPS, maar middels PHLIPS zou je dat dus ook aan PHP kunnen koppelen.
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 19:04:18 #199
1972 Swetsenegger
Egocentrische Narcist
pi_43552026
quote:
Op dinsdag 14 november 2006 18:41 schreef papernote het volgende:

[..]

PHLIPS is een PHP extentie voor CLIPS, waarmee je expertsystemen kan bouwen.

Expertsystemen kunnen reageren op natuurlijke taal en daarmee zou je dan zoiets kunnen implementeren. Zo heb ik zelf eens een helpdesk gemaakt in CLIPS, die reageerde op vragen als: "Mijn XboX is stuk, wat moet ik doen?".

Deze vraag werd dan ingelezen door het systeem en gefilterd op bepaalde woorden. Er wordt gezocht naar een bekend onderwerp (XboX) en een probleem (stuk) en of er een negatie (bijv. niet) in voor komt. Aan de hand daarvan worden er dan in het programma bepaalde regels geactiveerd die een vervolgvraag stellen.

Overigens heb ik dat direct in CLIPS geschreven en geen gebruik gemaakt van PHLIPS, maar middels PHLIPS zou je dat dus ook aan PHP kunnen koppelen.
Interessant
pi_43553545
Ja daar moet ik ook maar eens wat meer over lezen
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 14 november 2006 @ 20:39:08 #201
135268 USAF
Sarcastisch als altijd
pi_43555440
Hopelijk iets duidelijker dit keer

Ik heb dus een tabel 'vragen' en een tabel 'antwoorden', tabel antwoorden is gekoppeld aan tabel vragen door vraagid. Tevens heeft de tabel vragen een veld met dag, maand en jaar zodat het script weet welke vragen op welke dag getoond moeten worden.

Op de pagina's waar de vragen staan, staan tekstvelden om de antwoorden voor de vragen in te vullen. De naam van het tekstveld is gelijk aan het id van de vraag.

Als het formulier vervolgens gesubmitwordt, wil ik dat per vraag, de ingevulde waarde vergeleken wordt met de (mogelijk meerdere) row's in de tabel 'antwoorden'.

Mensen met toegang tot het back-end kunnen later nog altijd antwoorden waar bijv. een spellingsfout in zit goedkeuren, daar zit het probleem dus niet in.

Maar het probleem voor mij is, hoe vergelijk ik de ingevulde waarde met de mogelijke antwoorden in de database
Commander of the Joint Chiefs
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 20:41:45 #202
1972 Swetsenegger
Egocentrische Narcist
pi_43555552
quote:
Op dinsdag 14 november 2006 20:39 schreef USAF het volgende:
Hopelijk iets duidelijker dit keer

Ik heb dus een tabel 'vragen' en een tabel 'antwoorden', tabel antwoorden is gekoppeld aan tabel vragen door vraagid. Tevens heeft de tabel een veld met dag, maand en jaar zodat je weet welke vragen op welke dag getoond moeten worden.

Op de pagina's waar de vragen staan, staan tekstvelden om de antwoorden voor de vragen in te vullen. De naam van het tekstveld is gelijk aan het id van de vraag.

Als het formulier vervolgens gesubmit wordt, wil ik dat per vraag, de ingevulde waarde vergeleken wordt met de (mogelijk meerdere) row's in de tabel 'antwoorden'.

Mensen met toegang tot het back-end kunnen later nog altijd antwoorden waar bijv. een spellingsfout in zit goedkeuren, daar zit het probleem dus niet in.

Maar het probleem voor mij is, hoe vergelijk ik de ingevulde waarde met de mogelijke antwoorden in de database
Die vraag is al beantwoord. Wanneer je met full text antwoorden werkt zal je met een expert systeem moeten werken, zie de vorige pagina.

Een eenvoudiger alternatief is natuurlijk multiple-choice.
pi_43557840
Weet iemand het volgende:

Ik wil transparency verwijderen van een gif plaatje en er wit van maken.
Maar ik kan nergens vinden hoe dit moet. Alle voorbeelden zijn juist om een bepaalde kleur transparant te maken...

(Ik bedoel hoe doe ik dit in PHP m.b.v. de GD Library )
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 21:40:59 #204
1972 Swetsenegger
Egocentrische Narcist
pi_43558010
quote:
Op dinsdag 14 november 2006 21:37 schreef Skorpija het volgende:
Weet iemand het volgende:

Ik wil transparency verwijderen van een gif plaatje en er wit van maken.
Maar ik kan nergens vinden hoe dit moet. Alle voorbeelden zijn juist om een bepaalde kleur transparant te maken...
Gewoon zonder transparency opslaan.
pi_43558085
quote:
Op dinsdag 14 november 2006 21:40 schreef Swetsenegger het volgende:

[..]

Gewoon zonder transparency opslaan.
Ik heb m'n post nog even ge-edit.

Ik bedoelde, hoe maak ik via php m.b.v. de GD Library een transparante kleur wit..
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 21:45:10 #206
1972 Swetsenegger
Egocentrische Narcist
pi_43558214
quote:
Op dinsdag 14 november 2006 21:42 schreef Skorpija het volgende:

[..]

Ik heb m'n post nog even ge-edit.

Ik bedoelde, hoe maak ik via php m.b.v. de GD Library een transparante kleur wit..
Ah... niet denk ik...
pi_43558555
Wie kan me even helpen met de volgende replace?

1
2
3
$ret = "blabldsablkdbsl [url=http://imageshack.us][img=http://img164.imageshack.us/img164/220/152tuning72868gm5.jpg][/url] dbsalksablknlksandlsa";
$ret = preg_replace("#[url=http://imageshack.us][img=([w:%&/.;\#-=?[]+]][/url]#sie","'\1n'", $ret);
echo $ret;


[ Bericht 18% gewijzigd door Darkomen op 15-11-2006 13:08:29 ]
pi_43559134
quote:
Op dinsdag 14 november 2006 20:41 schreef Swetsenegger het volgende:

[..]

Die vraag is al beantwoord. Wanneer je met full text antwoorden werkt zal je met een expert systeem moeten werken, zie de vorige pagina.

Een eenvoudiger alternatief is natuurlijk multiple-choice.
Ik denk dat een expert-systeem te geavanceerd is voor dit probleem. Je zou dit wellicht als volgt kunnen aanpakken:

Je neemt een tabel met vragen en een tabel met antwoorden die je aan elkaar linkt middels een ID of zoiets dergelijks. Vervolgens stel je de vraag en komt het antwoord binnen via de POST. Dan zou je het antwoord kunnen scannen op voorkomens van bepaalde woorden die je in het antwoord verwacht. Deze woorden staan dan natuurlijk in je antwoorden-tabel.

Voorbeeld uit een random quiz:
quote:
Q: Who wrote: "Bring me my bow of burning gold: Bring me my arrows of desire.." ?
A: William Blake (1757-1827, English poet, painter and mystic.)
De tabellen:

Vragen
1
2
3
ID  VRAAG
1   Who wrote: "Bring me my bo...
2   Bla bla bla


Antwoorden
1
2
3
4
5
ID  ANTWOORD
1   blake
1   william
1   1827
2   blob


Middels PHP kan je simpel controleren of het woord "Blake" voorkomt in het antwoord. Verder zou je dan extra punten kunnen geven voor het voorkomen van "William" en ook nog voor de jaartallen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$punten 
0;
$answer strtolower($_POST["answer"]);
if(
strstr("blake"$answer))
{
    echo(
"CORRECT");
    
$punten += 1;

    if(
strstr("william"$answer))
    {
        
$punten += 1;
    }

    
//enz...
}
else
{
    echo(
"FOUT");
}
?>


Het hangt natuurlijk wel af van het soort vragen dat je gaat stellen, maar op deze manier zou je wellicht een aardig eindje kunnen komen.

Als iemand overigens interesse heeft in expertsystemen dan kan ik daar wel eens een topic over openen met een korte tutorial?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
  dinsdag 14 november 2006 @ 22:08:15 #209
12880 CraZaay
prettig gestoord
pi_43559421
Daarnaast kun je met PHP ook nog simpel checken in hoeverre een antwoord overeenkomt (strings vergelijken en match-percentage returnen).
  FOK!-Schrikkelbaas dinsdag 14 november 2006 @ 22:12:53 #210
1972 Swetsenegger
Egocentrische Narcist
pi_43559621
quote:
Op dinsdag 14 november 2006 22:03 schreef papernote het volgende:

[..]

Ik denk dat een expert-systeem te geavanceerd is voor dit probleem. Je zou dit wellicht als volgt kunnen aanpakken:

Je neemt een tabel met vragen en een tabel met antwoorden die je aan elkaar linkt middels een ID of zoiets dergelijks. Vervolgens stel je de vraag en komt het antwoord binnen via de POST. Dan zou je het antwoord kunnen scannen op voorkomens van bepaalde woorden die je in het antwoord verwacht. Deze woorden staan dan natuurlijk in je antwoorden-tabel.

Voorbeeld uit een random quiz:
[..]

De tabellen:

Vragen
[ code verwijderd ]

Antwoorden
[ code verwijderd ]

Middels PHP kan je simpel controleren of het woord "Blake" voorkomt in het antwoord. Verder zou je dan extra punten kunnen geven voor het voorkomen van "William" en ook nog voor de jaartallen.
[ code verwijderd ]

Het hangt natuurlijk wel af van het soort vragen dat je gaat stellen, maar op deze manier zou je wellicht een aardig eindje kunnen komen.
Het lijkt me redelijk omslachtig, maar het is te doen.
quote:
Als iemand overigens interesse heeft in expertsystemen dan kan ik daar wel eens een topic over openen met een korte tutorial?
Ik zou graag een uitleg zien inderdaad
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')