abonnement Unibet Coolblue Bitvavo
pi_36379037
file_get_contents('http://user:password@www.domain.com/beveiligdepagina.html');

-r-
pi_36379387
Dat werkt wel in de browser, maar niet via php:
1
2
Warning: file_get_contents(): HTTP request failed! 
HTTP/1.0 401 Access Denied Still Working in d:\test.php on line 3


-edit-
http://www.domein.nl/cpanel/ is blijkbaar een redirectionpage. Opgelost
pi_36382332
Yay, weer een newbie regexp-vraagje. Ik breek mijn hoofd er weer over
Ik heb deze html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
          <tr> 
               <td class="index1" width="120" nowrap>SQL Disk usage</td>

               <td class="index2">15.48 Megabytes</td>
            </tr>
            <tr> 
               <td class="index1" width="120" nowrap>Disk space available</td>
               <td class="index2">841.32 Megabytes</td>
            </tr>
            
            <tr> 
               <td class="index1" width="120" nowrap>Bandwidth usage (current month)</td>

               <td class="index2">1141.31 Megabytes</td>
            </tr>


En veel wat er op lijkt. Nu wil ik de waarde in de index1 en index2-class. Zodat ik er uiteindelijk iets als "SQL Disk usage = 15.48 Megabytes" kan outputten.

1
2
3
   $pattern = "/<td class=\"index1\" width=\"120\" nowrap>(.+)<\/td>\s<td class=\"index2\">(.+)<\/td>/m";
   preg_match( $pattern, $test, $matches );
   print_r( $matches );


Dit leek me iets dat wel zou moeten werken, maar ik krijg geen match. Wat doe ik fout?
pi_36382727
Er zit meer dan 1 white space char tussen de td's: vervang \s door \s*

1$pattern = "/<td class=\"index1\" width=\"120\" nowrap>(.+)<\/td>\s*<td class=\"index2\">(.+)<\/td>/m";

Als je ' in plaats van " gebruikt voor je php string dan hoeft je de " niet te escapen.
En als je # in plaats van / gebruikt voor je regexp, dan hoef je de / ook niet te escapen:

1$pattern = '#<td class="index1" width="120" nowrap>(.+)</td>\s*<td class="index2">(.+)</td>#m';
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_36382759
Niet verstandig om #im te gebruiken ipv #m ?
pi_36382825
quote:
Op zondag 26 maart 2006 17:56 schreef SuperRembo het volgende:
Er zit meer dan 1 white space char tussen de td's: vervang \s door \s*
[ code verwijderd ]

Als je ' in plaats van " gebruikt voor je php string dan hoeft je de " niet te escapen.
En als je # in plaats van / gebruikt voor je regexp, dan hoef je de / ook niet te escapen:
[ code verwijderd ]
Oke, bedankt! Maar wanneer gebruik je nou /, #, of ^ ... $
Ik heb hier een cheat sheet ( ) naast me aan de muur hangen die ik probeer te gebruiken, die vind dat ik ^ aan het begin moet zetten en $ aan het eind.
quote:
Op zondag 26 maart 2006 17:57 schreef Roönaän het volgende:
Niet verstandig om #im te gebruiken ipv #m ?
De case is altijd hetzelfde, maakt dus niet uit.
pi_36382853
quote:
Op zondag 26 maart 2006 17:57 schreef Roönaän het volgende:
Niet verstandig om #im te gebruiken ipv #m ?
Het is pure data, als er een character van case is veranderd is er waarschijnlijk nog wel meer veranderd
pi_36382882
quote:
Op zondag 26 maart 2006 18:00 schreef Nevermind het volgende:

[..]

Oke, bedankt! Maar wanneer gebruik je nou /, #, of ^ ... $
Ik heb hier een cheat sheet ( ) naast me aan de muur hangen die ik probeer te gebruiken, die vind dat ik ^ aan het begin moet zetten en $ aan het eind.
Er is een groot verschil tussen de delimitors, die je zelf kunt kiezen, en de twee tekens ^ en $ waarmee je respectievelijk het begin en het einde van de matchen string weergeeft. Standaard wordt een forwardslash (/) gebruikt als delimitor, maar een hash (#) of zelfs een uitroepteken is niet zeldzaam
pi_36383015
quote:
Op zondag 26 maart 2006 18:02 schreef JeRa het volgende:

[..]

Er is een groot verschil tussen de delimitors, die je zelf kunt kiezen, en de twee tekens ^ en $ waarmee je respectievelijk het begin en het einde van de matchen string weergeeft. Standaard wordt een forwardslash (/) gebruikt als delimitor, maar een hash (#) of zelfs een uitroepteken is niet zeldzaam
Aha, dat is een stuk duidelijker dan wat ik van de php manual begrijp
pi_36384966
quote:
Op zondag 26 maart 2006 18:02 schreef JeRa het volgende:

[..]

Er is een groot verschil tussen de delimitors, die je zelf kunt kiezen, en de twee tekens ^ en $ waarmee je respectievelijk het begin en het einde van de matchen string weergeeft. Standaard wordt een forwardslash (/) gebruikt als delimitor, maar een hash (#) of zelfs een uitroepteken is niet zeldzaam
Zijn er verschillen tussen de /, # en ! dan?

Ik heb geleerd dat je met de / moet werken binnen regular expressions, maar in PHP gebruik ik de # en het werkt ook prima.
pi_36385320
Ik heb een vraag..

ik ben pas geleden met een MySQL db begonnen (was eerst een MS Access db) en die heb ik omgezet om te kunnen draaien met een linux server en MySQL.

Nou werd mij verteld dat een MySQL db toch zeker een keer of 10 zo snel zou moeten zijn als een MS Access db, maar niks is minder waar, de site is alleen maar vele malen trager geworden hierdoor.

Iemand een id hoe ik die database misschien kan compacten ? of kan indexeren ?? (als dat het is waar ik hem sneller mee kan krijgen..)

zijn er misschien kleine testjes waar ik kan zien of het wel MySQL is die zo traag is ? Want op de server draait ook nog een ColdFusion server.. Het zou ook daaraan kunnen liggen namelijk, ik weet alleen niet hoe ik kan zien hoe snel/traag MySQL is..
pi_36385395
Kun je een query posten die langzaam gaat en de indeling van je database? Misschien heb je verkeerde veldtypes gebruikt, niet genormaliseerd, maar om dat te weten is wat meer info nodig.
pi_36385917
Uptime: 2 days 6 hours 12 min 0 sec

Threads: 2 Questions: 3584 Slow queries: 0 Opens: 17 Flush tables: 1 Open t ables: 8 Queries per second avg: 0.018


dat krijg ik als output van mysql -p bij status..

0.018 sec. per query lijkt mij vrij vlot..

sorry, sorry, sorry, dan ligt het waarschijnlijk niet aan MySQL, maar gewoon aan CF server.. denk ik..
pi_36386094
quote:
Op zondag 26 maart 2006 19:25 schreef HuHu het volgende:

[..]

Zijn er verschillen tussen de /, # en ! dan?
Nee.
quote:
Ik heb geleerd dat je met de / moet werken binnen regular expressions, maar in PHP gebruik ik de # en het werkt ook prima.
Regular expressions worden van oudsher aangeduid met een forward slash als delimitor, maar het maakt voor zover ik weet in PHP niet uit
  FOK!-Schrikkelbaas maandag 27 maart 2006 @ 20:40:57 #115
1972 Swetsenegger
Egocentrische Narcist
pi_36415793
Iemand ervaring met SAMP (Solaris, Apache, MySQL, PHP)?
pi_36416330
quote:
Op zaterdag 25 maart 2006 12:40 schreef Roönaän het volgende:
ToBe,

Eventueel kan je ook doen:
[ code verwijderd ]
Dank voor de oplossing.

Ik heb idd || voor && gedaan en dan werkt het...

Super stom van mijzelf.. was er moe en dan proggen is niet echt een idee. Ik wilde per se niet geloven dat dit de oplossing was.... zucht
pi_36433642
Hallo,

Ik ben al een hele tijd op zoek naar een functie of script om te controleren of een $string een bepaald woord bevat. Zoja, echo een andere string, zonee, echo die string. Kan iemand mij hierbij helpen?

Alvast bedankt!
dit
is
mijn
signature.
pi_36433770
Dan zoek je niet erg goed

1
2
3
<?php
echo strpos( $string, $woord ) ? "andere string" : $string;
?>


strpos
pi_36435150
Hallo ik heb het volgende stukje code.. ik zal ff uitleggen wat het doet.
Het opent een CSV bestand, scheidt de velden van elkaar door te kijken waar een ; staat en zet dit in een array.. nu staan er zeg maar 16 velden in één regel van het CSV bestand, ik kan ze ook netjes uitlezen, en dan krijg je Key: Leverancier Value: 0 Key: product Value: 1 etc tm 15.

ik kan dit uitlezen met de for each lus. ik heb 2 for each lussen omdat de array in een array zit. alleen wil ik nu de waarden van value 0 tm 15 in één query stoppen, en dan de volgende reeks van 0 tm 15 in één query, dus tot et eind van et bestand zodat ie alles van het CSV bestand in de SQL database zet.. hier is de code:

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
include_once 'class.csv.php';

$csv = & new csv_bv('tblprijslijst.csv', ';', '"' , '\\');
$csv->SkipEmptyRows(TRUE); // Will skip empty rows. TRUE by default. (Shown here for example only).
$csv->TrimFields(TRUE); // Remove leading and trailing \s and \t. TRUE by default.

$_arr = $csv->csv2Array();

$query = "TRUNCATE TABLE `TblPrijslijst`";
$result = mysql_query($query) or die("Invalid query: " . mysql_error().__LINE__.__FILE__);

$i = 0;

foreach ($_arr as $key => $value) {
   foreach ($value as $value2 => $key2) {
      $totaleuitkomst .= $key
      $query = "INSERT INTO TblPrijslijst(`Id`, `Leverancier`, `Productgroep`, `Subgroep:`, `Art.nr.`, `Vendorcode`,
       `EAN-Code:`, `Artikelomschrijving`, `Prijs`, `Voorraad:`, `Verwachte levertijd`, `Productspecificaties:`, `Hotdeal`,
       `opisop`, `opruiming`, `image_small`, `image_big`) VALUES(
       '".$i."', '".$key2."', '".$key2."', '".$key2."', '".$key2."', '".$key2."', 
       '".$key2."', '".$key2."', '".$key2."', '".$key2."', '".$key2."', '".$key2."', 
       '".$key2."', '".$key2."', '".$key2."', '".$key2."', '".$key2."')";
       mysql_query($query) or die("Invalid query: " . mysql_error().__LINE__.__FILE__);
       $i++;
   }
}


het werkt alleen niet zoals je ziet lukt de query me niet.. et lukt met niet om de aparte reeksen van 0tm15 in querys te proppen..

hoop dat iemand me snapt en me kan helpen
thnx alvast!
pi_36435651
je kan beter dit doen:

1
2
3
4
5
6
7
8
9
10
11
<?php
foreach ($_arr as $key =&gt; $value){
foreach (
$value as $value2 =&gt; $key2){
if (
$query){ $query .= "'"; }
$query .= "'".$key2."'";
}

$query = "insert into ( blabla) values ( ".$query.")";
unset (
$query);
}
?>

nu doetie de query per hoofdarray, en niet per item uit een subarray. de items uit de subarray zettie neer als '$key'
en voegt een komma in waar nodig.

ongeveer denk ik. niet getest, moet misschien nog beetje debuggen. maar het principe moet werken lijkt mij.
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_36436083
heb nu dan dit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
foreach ($_arr as $key => $value){
   foreach ($value as $value2 => $key2){
      if ($query){ $query .= "'"; }
         $query .= "'".$key2."'";

   }
        $query = "INSERT INTO TblPrijslijst(`Leverancier`, `Productgroep`, `Subgroep:`, `Art.nr.`, `Vendorcode`,
       `EAN-Code:`, `Artikelomschrijving`, `Prijs`, `Voorraad:`, `Verwachte levertijd`, `Productspecificaties:`, `Hotdeal`,
       `opisop`, `opruiming`, `image_small`, `image_big`, `icecaturl`) VALUES(
       ".$query.")";
       echo $query;
       mysql_query($query) or die("Invalid query: " . mysql_error().__LINE__.__FILE__);
       
   unset ($query);
}


werkt iig ook niet

ook niet als ik van key2 gewoon key maak.. dan zet ie er opeenvolgende cijfers in.. dus in rij 1 0 0 0 0 0
rij 2 1 1 1 1 1 1
rij 3 2 2 2 2 2 2
etc

[ Bericht 8% gewijzigd door Knucklezz op 28-03-2006 15:52:31 ]
pi_36436980
hoe ziet het resultaat van echo $query; eruit?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_36439428
1
2
3
4
5
6
7
8
9
INSERT INTO TblPrijslijst(`Leverancier`, `Productgroep`, `Subgroep:`, `Art.nr.`, 
`Vendorcode`, `EAN-Code:`, `Artikelomschrijving`, `Prijs`, `Voorraad:`, 
`Verwachte levertijd`, `Productspecificaties:`, `Hotdeal`, `opisop`, 
`opruiming`, `image_small`, `image_big`, `icecaturl`) 
VALUES( 'Leverancier',''Productgroep',
''Subgroep:',''Art.nr.',''Vendorcode',''EAN-Code:',''Artikelomschrijving',''Prijs',''Voorraad:',
''Verwachte levertijd',''Produktspecificaties:',''hotdeal',''opisop',
''opruiming',
''image_small',''image_big',''icecaturl',)


zoals je ziet plakt ie bij de laatste nog een comma er achter.. mede omdat dat ook hier zit:

1
2
      if ($query){ $query .= "'"; }
         $query .= " ' ".$key2." ', ";


[ Bericht 6% gewijzigd door Knucklezz op 28-03-2006 17:36:04 ]
pi_36441408
Eén hele korte vraag:

Is
1echo "\n"

hetzelfde als
1echo "<br>"


?
pi_36441620
quote:
Op dinsdag 28 maart 2006 18:36 schreef DaFan het volgende:
Eén hele korte vraag:

Is

[ code verwijderd ]
hetzelfde als

[ code verwijderd ]

?
Nee...

\n geeft een newline in de broncode, maar dat wordt door de browser gezien als een spatie.

<br> is een new-line, die door de browser wordt gebruikt voor de opmaak. Deze zorgt niet voor een newline in je broncode.
pi_36441646
Nee. De eerste is een newline (op sommige besturingssystemen dan) en de tweede een html-tag
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 19:30:43 #127
1972 Swetsenegger
Egocentrische Narcist
pi_36443039
de funtie nl2br bestaat dan ook niet voor niets
pi_36443099
quote:
Op dinsdag 28 maart 2006 19:30 schreef Swetsenegger het volgende:
de funtie nl2br bestaat dan ook niet voor niets
Een functie nl2paragraph_and_br zou ook handig zijn.

Maar die heb ik dan zelf weer geschreven.
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 19:34:58 #129
1972 Swetsenegger
Egocentrische Narcist
pi_36443171
quote:
Op dinsdag 28 maart 2006 19:32 schreef HuHu het volgende:

[..]

Een functie nl2paragraph_and_br zou ook handig zijn.

Maar die heb ik dan zelf weer geschreven.
Waarom zou je dat in godsnaam willen?
2 br's is toch ook een paragraaf
pi_36443279
quote:
Op dinsdag 28 maart 2006 19:34 schreef Swetsenegger het volgende:

[..]

Waarom zou je dat in godsnaam willen?
2 br's is toch ook een paragraaf
Een <br /> moet toch binnen <p> tags zitten?

Ik heb toen maar een simpele preg_replace gemaakt die /n/n vervangt voor </p><p> en alle overgebleven enkele /n 's vervangt voor <br />.

Uiteraard aan het begin en einde een <p> en </p> toevoegen.
pi_36443611
Ik heb een vrij simpel vraagje: Ik ben bezig met een mail scriptje. Maar ik krijg een ding niet voor elkaar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
@extract($_POST);
$name = stripslashes($naam);
$position = stripslashes($functie);
$company = stripslashes($bedrijf);
$adress = stripslashes($adres);
$number = stripslashes($nummer);
$postal = stripslashes($postcode);
$city = stripslashes($plaats);
$country = stripslashes($land);
$telephone = stripslashes($telefoon);
$telcontact = stripslashes($checkbox);
$email = stripslashes($email);
$concerning = stripslashes($betreft);
$subject = stripslashes($onderwerp);
$text = stripslashes($tekst);

$subj = $concerning . $subject;
$msg = $name . $text;

mail('info@mijndomein.nl',$subj,$msg,"From: $company <$email>");
header("location:contact.php");
?>


Ik heb het volgende probleem: dmv $subj probeer ik in outlook te zorgen dat daar dmv rules de acties worden uitgevoerd die nodig zijn. Vandaar dat dit twee variabelen betreft: een list (betreft) en het zelf gekozen onderwerp. Als ik dit echter op de manier probeer dan krijg ik een mailtje waarin de beide waardes aan elkaar vast zijn geschreven.

Een ander probleempje is dat ik mij afvraag hoe ik de main message op de beste manier kan stijlen. Iemand tips?
pi_36443953
Dank HuHu, nevermind en Swets. Ben er weer bij
pi_36444006
quote:
Op dinsdag 28 maart 2006 19:47 schreef ExCibular het volgende:
Ik heb een vrij simpel vraagje: Ik ben bezig met een mail scriptje. Maar ik krijg een ding niet voor elkaar:


[ code verwijderd ]

Ik heb het volgende probleem: dmv $subj probeer ik in outlook te zorgen dat daar dmv rules de acties worden uitgevoerd die nodig zijn. Vandaar dat dit twee variabelen betreft: een list (betreft) en het zelf gekozen onderwerp. Als ik dit echter op de manier probeer dan krijg ik een mailtje waarin de beide waardes aan elkaar vast zijn geschreven.

Een ander probleempje is dat ik mij afvraag hoe ik de main message op de beste manier kan stijlen. Iemand tips?
Dit gebruiken:

1$subj = $concerning . " " . $subject;


Gewoon een spatie ertussen zetten dus.
pi_36444218
quote:
Op dinsdag 28 maart 2006 20:00 schreef HuHu het volgende:
Gewoon een spatie ertussen zetten dus.
Dank je wel dat werkt inderdaad.
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 20:10:16 #135
1972 Swetsenegger
Egocentrische Narcist
pi_36444342
quote:
Op dinsdag 28 maart 2006 19:37 schreef HuHu het volgende:

[..]

Een <br /> moet toch binnen <p> tags zitten?
Nee
  dinsdag 28 maart 2006 @ 20:21:14 #136
7152 Inbox4me
 Zo kijk ik altijd
pi_36444714
Ik ben weer verder met m'n script, het vorige probleem is opgelost (zie deel 2, thnx voor de reacties die me op het goede spoor zetten ). Echter, en je voelt hem al aan komen, ik zit nu vast.

Ik heb een form waarin je een foto kunt uploaden, en waar je momenteel één steekwoord aan kunt koppelen. Dit moeten méér steekwoorden worden, maar hoe doe ik dat makkelijk? Ik zie het echt niet meer (ben beginnner in php, zijn er simpele oplossingen voor )

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php

* hier worden variabelen uit form gelezen - gestript *

// foto inlezen
$binary_foto = addslashes (fread(fopen($foto, "r"), filesize($foto))); 
// thumbnail inlezen
$binary_thumbnail = addslashes (fread(fopen($thumbnail, "r"), filesize($thumbnail))); 

// kijken of foto geselecteerd is
if (!empty($foto))
   {
      $query = "INSERT INTO Foto (Titel, Beschrijving, Naam, Datum_upload, DPI, Foto, Thumbnail) 
      VALUES (''".$titel."', '".$beschrijving."', '".$naam."', '".$date."', '".$dpi."', '".$binary_foto."', 
'".$binary_thumbnail."')";
      $result = mysql_query($query) or die(mysql_error());

      if(isset($binary_foto))
         {
              $foto_id = mysql_insert_id(); // haal laatste auto-increment id op
                // zet deze id in Foto_steekwoord
              $sql = "INSERT INTO Foto_steekwoord (Foto_ID) VALUES ('".$foto_id."')";
              $result = mysql_query($sql);
         }
      
      // steekwoord in db zetten
      $query2 = "INSERT INTO Steekwoord (Steekwoord) VALUES ('".$steekwoord1."')";   
      $result = mysql_query($query2) or die(mysql_error());
             
      // auto increment Foto_steekwoord_ID afvangen   
      $foto_id = mysql_insert_id();
      // haal laatste Foto_ID:
      $query_last = "SELECT Foto_ID FROM Foto GROUP BY Foto_ID ORDER BY Foto_ID DESC LIMIT 1";
      $result_last = mysql_query($query_last) or die(mysql_error());
      $arr = mysql_fetch_array($result_last);
      $query3 = "UPDATE Foto_steekwoord SET Steekwoord_ID = '$foto_id' WHERE Foto_ID = $arr[0]";
      $result = mysql_query($query3) or die(mysql_error());
   }
   
else 
   {
      echo "U heeft geen foto geselecteerd. <a href='javascript:history.back()'>Ga terug</a>";      
   }
?>


Ik ga nu omslachtig te werk: ik zet de foto in tabel Foto, het steekwoord in Steekwoord, dan zet ik Foto_ID en Steekwoord_ID in een koppeltabel Foto_steekwoord, waarbij de waarde voor Steekwoord_ID eerst 0 is. Door gebruik te maken van mysql_insert_ID vraag ik de laatste ID op, om die vervolgens te koppelen aan het Foto_ID in Foto_steekwoord.

Dit werkt voor één steekwoord, maar wat is nu handig bij meerdere? Meerdere formfields opgeven? Suggesties zijn zéér welkom
Ik ken karate, taekwondo en nog 19 andere gevaarlijke woorden
pi_36444960
quote:
Op dinsdag 28 maart 2006 20:10 schreef Swetsenegger het volgende:

[..]

Nee
Ow
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 20:35:16 #138
1972 Swetsenegger
Egocentrische Narcist
pi_36445149
je hebt een tabel foto's waar je de fotonaam opslaat
en een foto steekwoorden, waar je het id van de fototabel gebruikt om steekwoorden op te slaan:

1
2
3
4
| fotoId | fotonaam |
+--------+----------+
|    1   |  foto1   |
|    2   |  foto2   |


1
2
3
4
5
6
7
| steekId | fotoId | steekwoord |
+---------+--------+------------+
|    1    |    1   |    mooi    |
|    2    |    1   |  uitzicht  |
|    3    |    1   |   groen    |
|    4    |    2   |  veldsla   | 
|    5    |    2   |  groente   |


de eerste 3 steekwoorden horen bij foto 1,de laatste 2 bij foto 2
  dinsdag 28 maart 2006 @ 20:48:08 #139
7152 Inbox4me
 Zo kijk ik altijd
pi_36445505
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Tabel foto:

Foto_ID   |    Foto
--------------------
 1        |    blob1
 2        |    blob2


Tabel steekwoord:

Steekwoord_ID   |    Steekwoord
-----------------------------------
 1              |    groen
 2              |    blauw


Tabel Foto_steekwoord:

Foto_steekwoord_ID  |  Foto_ID    |  Steekwoord_ID
----------------------------------------------------
 1                  |       1     |    1
 2                  |       1     |    2

Foto 1 is dus gekoppeld aan de steekwoorden groen en blauw, via de koppeltabel Foto_steekwoord

Toevoeging: ik heb dus de foto's als blob in de db (ik ben op de hoogte dat dit geen goede manier is, maar deze site hoeft niet live)

[ Bericht 3% gewijzigd door Inbox4me op 28-03-2006 20:57:56 ]
Ik ken karate, taekwondo en nog 19 andere gevaarlijke woorden
pi_36445779
quote:
Op dinsdag 28 maart 2006 20:48 schreef Inbox4me het volgende:

[ code verwijderd ]

Foto 1 is dus gekoppeld aan de steekwoorden groen en blauw, via de koppeltabel Foto_steekwoord
Met daarbij de opmerking dat het over het algemeen wordt afgeraden om een foto in een database te bewaren. De foto kun je gewoon als bestand bewaren, en de naam ervan kan dan in de database. Op die manier belast je de database niet bij het bekijken van foto's, omdat je geen grote hoeveelheden data hoeft te behandelen.

En de kolom Foto_steekwoord_ID in de laatste tabel voegt ook niets nuttigs toe.
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 21:03:31 #141
1972 Swetsenegger
Egocentrische Narcist
pi_36445872
quote:
Op dinsdag 28 maart 2006 20:48 schreef Inbox4me het volgende:

[ code verwijderd ]

Foto 1 is dus gekoppeld aan de steekwoorden groen en blauw, via de koppeltabel Foto_steekwoord

Toevoeging: ik heb dus de foto's als blob in de db (ik ben op de hoogte dat dit geen goede manier is, maar deze site hoeft niet live)
Waarom 3 tabellen?
  dinsdag 28 maart 2006 @ 21:04:21 #142
7152 Inbox4me
 Zo kijk ik altijd
pi_36445878
quote:
Op dinsdag 28 maart 2006 20:59 schreef Light het volgende:

[..]

Met daarbij de opmerking dat het over het algemeen wordt afgeraden om een foto in een database te bewaren. De foto kun je gewoon als bestand bewaren, en de naam ervan kan dan in de database. Op die manier belast je de database niet bij het bekijken van foto's, omdat je geen grote hoeveelheden data hoeft te behandelen.

En de kolom Foto_steekwoord_ID in de laatste tabel voegt ook niets nuttigs toe.
Ik had m'n bericht al iets aangepast, ik ben op de hoogte van het feit dat een foto het beste niet in een database hoort. Dit was een studieproject en aangezien deze site niet live hoeft is dit zo besloten (inmiddels is het een éénmansproject maar dat terzijde). Aangezien er al een deel klaar was, laat ik dit zo anders moet ik alles om gaan gooien en daar heb ik de tijd niet voor...

Wat betreft Foto_steekwoord_ID: waarom voegt die niks toe?
quote:
Op dinsdag 28 maart 2006 21:03 schreef Swetsenegger het volgende:

[..]

Waarom 3 tabellen?
Omdat je dan volgens mijn begeleidend docent meerdere steekwoorden aan één foto kunt koppelen
Ik ken karate, taekwondo en nog 19 andere gevaarlijke woorden
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 21:06:06 #143
1972 Swetsenegger
Egocentrische Narcist
pi_36445919
quote:
Op dinsdag 28 maart 2006 21:04 schreef Inbox4me het volgende:


Omdat je dan volgens mijn begeleidend docent meerdere steekwoorden aan één foto kunt koppelen
Met mijn voorbeeld met 2 tabellen toch ook.
  dinsdag 28 maart 2006 @ 21:12:16 #144
7152 Inbox4me
 Zo kijk ik altijd
pi_36446093
Daar heb je gelijk in, dit was echter een betere methode volgens m'n docent. Aangezien ik erg weinig ervaring heb met programmeren heb ik 3 tabellen gebruikt. Maar jouw tabel zou inderdaad ook kunnen.
Ik ken karate, taekwondo en nog 19 andere gevaarlijke woorden
pi_36446131
Meerdere steekwoorden in 1kolom wil je juist niet. Basispunt 1 normalisatie
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 21:21:15 #146
1972 Swetsenegger
Egocentrische Narcist
pi_36446370
quote:
Op dinsdag 28 maart 2006 21:13 schreef DaFan het volgende:
Meerdere steekwoorden in 1kolom wil je juist niet. Basispunt 1 normalisatie
In 1 cel bedoel je?
pi_36448164
quote:
Op dinsdag 28 maart 2006 21:04 schreef Inbox4me het volgende:

Wat betreft Foto_steekwoord_ID: waarom voegt die niks toe?
Er is een kolom Foto_ID en een kolom steekwoord_ID. De combinatie van die 2 is uniek (tenminste, dat zou het moeten zijn, al was het maar omdat het nogal onzinnig is om 3 keer op te slaan dat steekwoord 1 bij foto 2 hoort). Het is op geen enkel moment van belang of de combinatie foto 2 - steekwoord 1 als eerste of als 500ste entry gegeven is. Dat maakt die kolom Foto_steekwoord_ID overbodig.
pi_36448274
quote:
Op dinsdag 28 maart 2006 21:06 schreef Swetsenegger het volgende:

[..]

Met mijn voorbeeld met 2 tabellen toch ook.
Hoe wil je bij jouw voorbeeld steekwoord 3 (groen) aan foto 2 koppelen, zonder dat de koppeling met foto 1 verloren gaat?
Als steekwoord_ID de primary key is gaat het niet werken, omdat die key niet 2 keer voor mag komen. En als de PK bestaat uit steekwoord_ID en foto_ID dan kun je iig in theorie twee verschillende steekwoorden hebben, beide met steekwoord_ID 3, maar met een andere foto. Da's ook niet handig.

Meer info: zoeken op normalisatie.
pi_36448452
quote:
Op dinsdag 28 maart 2006 21:21 schreef Swetsenegger het volgende:

[..]

In 1 cel bedoel je?
Ja dat. Ik lig nog een beetje overhoop met de taal op dit gebied
  FOK!-Schrikkelbaas dinsdag 28 maart 2006 @ 22:32:53 #150
1972 Swetsenegger
Egocentrische Narcist
pi_36448645
quote:
Op dinsdag 28 maart 2006 22:21 schreef Light het volgende:

[..]

Hoe wil je bij jouw voorbeeld steekwoord 3 (groen) aan foto 2 koppelen, zonder dat de koppeling met foto 1 verloren gaat?
Als steekwoord_ID de primary key is gaat het niet werken, omdat die key niet 2 keer voor mag komen. En als de PK bestaat uit steekwoord_ID en foto_ID dan kun je iig in theorie twee verschillende steekwoorden hebben, beide met steekwoord_ID 3, maar met een andere foto. Da's ook niet handig.

Meer info: zoeken op normalisatie.
Gewoon nog een keer invoeren.
Ik ging er van uit dat steekwoorden los worden ingevoerd.
Dan ga ik niet controleren of dat steekwoord al bestaat om die vervolgens via een koppeltabel aan een tweede foto te koppelen.

In mijn geval kan groen dus 3 keer voorkomen met 3 verschillende fotoId's.

Uiteraard kan ik NOG een tabel maken waar ik het steekwoord id koppel aan het het foto id, op die manier heb je nooit dubbele steekwoorden. Maar persoonlijk vind ik dat een beetje overkill eigenlijk.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')