abonnement Unibet Coolblue Bitvavo
  † In Memoriam † vrijdag 18 september 2009 @ 13:43:15 #201
67005 pc-fr34k
"Internet=Telepathie"
pi_72873312
.

Ik zit met een probleempje waar ik niet uit kom. Ik heb 2 arrays:

Vandaag: Array ( [1] => 2 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 10 [7] => 1 [999] => 1 )
Gisteren: Array ( [1] => 5 [2] => 0 [6] => 3 )

Hier is de key het ID van een linkpartner en de value is het aantal hits op die dag.

Nu wil ik de som van vandaag en gisteren in 1 array. Hoe zorg ik dat overal waar de key gelijk is de 2 waardes bij elkaar opgeteld worden?

Bvd
Wij zijn artificial intelligence. Overclock jezelf maar hou jezelf wel goed koel.
Ik ben gematigd verslaafd aan drugs-ik kan stoppen voor een periode of altijd-maar altijd is zo lang-leef in zonde met mate(n)
http://pc-fr34k.hyves.nl/blog/
pi_72873725
quote:
Op vrijdag 18 september 2009 13:43 schreef pc-fr34k het volgende:
.

Ik zit met een probleempje waar ik niet uit kom. Ik heb 2 arrays:

Vandaag: Array ( [1] => 2 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 10 [7] => 1 [999] => 1 )
Gisteren: Array ( [1] => 5 [2] => 0 [6] => 3 )

Hier is de key het ID van een linkpartner en de value is het aantal hits op die dag.

Nu wil ik de som van vandaag en gisteren in 1 array. Hoe zorg ik dat overal waar de key gelijk is de 2 waardes bij elkaar opgeteld worden?

Bvd
1
2
3
4
$totaal = array();
foreach(array_keys($array1) as $key) {
  $totaal[$key] = $array1[$key] + $array2[$key];
}


Niet getest, laat maar weten of het werkt.
Trotse poster van het 37000000ste bericht ^O^
pi_72874002
quote:
Op vrijdag 18 september 2009 13:55 schreef daReaper het volgende:

[..]
[ code verwijderd ]

Niet getest, laat maar weten of het werkt.
Als $array2[$a] niet bestaat, krijg je minimaal een notice. Die kun je onderdrukken, maar 't is niet netjes. En je moet er nog rekening mee houden dat een key wel in $array2 kan voorkomen en niet in $array1 zit.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$total 
= array();
foreach(
$array1 as $key => $value) {
  if(isset(
$array2[$key]) {
    
$total[$key] = $value $array2[$key];
    unset(
$array2[$key]);
  } else {
    
$total[$key] = $value;
  }
}
foreach(
$array2 as $key => $value) {
  
// Alles wat we nog gemist hebben
  
$total[$key] = $value;
}
?>

En dat kan dan natuurlijk in een functie.
pi_72963645
vraagje.
ik heb een $_SESSION en daarin zitten meerdere nrs bvb 800,200,300
dit zijn nummers die ik met behulp van een database in weergave wil weergeven.
$sql = select * from artikelen
where artikel = '".$_SESSION['artikelid']."' ";

of moet er perse een for while loop? of een for loop bij?

met een extra $I variabele of iets dergelijks.
(meerdere waardes in 1 where statement)
Redacted
pi_72964166
Ik heb wat moeite met 't ophalen van data...

Ik heb 4 tabellen...
- product (bestaat uit info product)
- log (bestaat uit info van veranderingen product o.a. versie nummer & product id)
- log_persoon (bestaat uit log_id & persoon_id & rol_id (een getal welke de "rol" voorstelt van de persoon))
- persoon (bestaat uit info over persoon)

Wat ik nu wil is dat ik van alle producten de info selecteer met daarbij de laatste log gegevens en de daarbij horende persoons gegeves...

Wat ik heb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
    pr.[product_naam],
    logp.[logpers_datum], 
    MAX(l.[log_uitgave]),
    p.[persoon_naam]
FROM [product] AS pr
LEFT JOIN [log] AS l
    ON l.[product_id] = pr.[product_id]
LEFT JOIN [log_persoon] AS lp
    ON lp.[log_id] = l.[log_id]
LEFT JOIN  [persoon] AS p
    ON p.[persoon_id] = logp.[persoon_id]
WHERE logp.[persoon_rol] = '6'
GROUP BY pr.[product_id], pr.[product_naam], logp.[logpers_datum], p.[persoon_naam], l.[log_uitgave]
ORDER BY l.[log_uitgave] DESC



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
product
product_id    product_naam
1            Stofzuiger
2            Appelsap
3            Wijn
4            ABC

Log
log_id       product_id   log_uitgave    
1            1            1
2            2            1
3            3            1
4            3            2
5            4            1

Log_persoon
log_id       persoon_id   persoon_rol  log_datum
1            1            2            2009-08-09
1            2            3            2009-08-12
1            4            6            2009-08-13
2            2            1            2009-08-17
2            1            6            2009-08-18
3            3            4            2009-08-19
3            3            5            2009-08-22
3            1            6            2009-08-28
4            2            6            2009-08-29
5            4            6            2009-08-30

Persoon
persoon_id   persoon_naam
1            Jan
2            Piet
3            Klaas
4            Kees

Het resultaat wat ik dan wil is...
----------------------------------------
1.    stofzuiger 2009-08-13    1    Jan
2.    Appelsap   2009-08-18    1    Jan
3.    Wijn       2009-08-29    2    Piet
4.    ABC        2009-08-30    1    Kees
pi_72964547
quote:
Op maandag 21 september 2009 12:59 schreef ReWout het volgende:
Ik heb wat moeite met 't ophalen van data...

Ik heb 4 tabellen...
- product (bestaat uit info product)
- log (bestaat uit info van veranderingen product o.a. versie nummer & product id)
- log_persoon (bestaat uit log_id & persoon_id & rol_id (een getal welke de "rol" voorstelt van de persoon))
- persoon (bestaat uit info over persoon)

Wat ik nu wil is dat ik van alle producten de info selecteer met daarbij de laatste log gegevens en de daarbij horende persoons gegeves...

Wat ik heb
[ code verwijderd ]


[ code verwijderd ]
wat is je resultaat nu ? en waarom mis je een orderby artikel ID? en wat is er met je where aan de hand =)? waarom alleen persoon 6?
Redacted
pi_72965757
quote:
Op maandag 21 september 2009 12:39 schreef cablegunmaster het volgende:
vraagje.
ik heb een $_SESSION en daarin zitten meerdere nrs bvb 800,200,300
dit zijn nummers die ik met behulp van een database in weergave wil weergeven.
$sql = select * from artikelen
where artikel = '".$_SESSION['artikelid']."' ";

of moet er perse een for while loop? of een for loop bij?

met een extra $I variabele of iets dergelijks.
(meerdere waardes in 1 where statement)
WHERE artikel IN (800, 200, 300)
pi_72965785
quote:
Op maandag 21 september 2009 12:59 schreef ReWout het volgende:
Ik heb wat moeite met 't ophalen van data...

Ik heb 4 tabellen...
- product (bestaat uit info product)
- log (bestaat uit info van veranderingen product o.a. versie nummer & product id)
- log_persoon (bestaat uit log_id & persoon_id & rol_id (een getal welke de "rol" voorstelt van de persoon))
- persoon (bestaat uit info over persoon)

Wat ik nu wil is dat ik van alle producten de info selecteer met daarbij de laatste log gegevens en de daarbij horende persoons gegeves...

Wat ik heb
[ code verwijderd ]


[ code verwijderd ]
Even voor de zekerheid, hebben we het hier over MySQL? En zo nee, over welke SQL-smaak dan wel?
pi_72967456
quote:
Op maandag 21 september 2009 13:58 schreef Light het volgende:

[..]

Even voor de zekerheid, hebben we het hier over MySQL? En zo nee, over welke SQL-smaak dan wel?
Nah MSSQL.

-edit- ik zal me vraag wel even anders stellen want het gene wat ik hierboven wil kan ik namelijk wel verkrijgen met 2 queries... maar ik probeer er dus 1 van te maken.

[ Bericht 13% gewijzigd door ReWout op 21-09-2009 15:51:52 ]
  dinsdag 22 september 2009 @ 09:43:58 #210
49096 cosmick
Les Yeux Orange
pi_72992305
Even een include-vraag .

In sites gebruik ik altijd includes voor headers, footers etc. op deze manier: <? include("inc/scripts.php")?> .

Werkt natuurlijjk prima. Maar wat als ik nu een externe pagina wil includen? Dacht met mijn domme hoofd dat dat simpel zo zou gaan maar helaas:

<? include("inc/http://www.website.nl/pagina.html")?>

Iemand een oplossing?
  FOK!-Schrikkelbaas dinsdag 22 september 2009 @ 09:45:58 #211
1972 Swetsenegger
Egocentrische Narcist
pi_72992342
als je dat 'inc' voor die http weghaalt?
pi_72992742
quote:
Op dinsdag 22 september 2009 09:45 schreef Swetsenegger het volgende:
als je dat 'inc' voor die http weghaalt?
Dan staat er <? include("/http://www.website.nl/pagina.html")?> ;-)
Dus 'inc/' weghalen.
Of
http://nl3.php.net/manual/en/function.file-get-contents.php
  FOK!-Schrikkelbaas dinsdag 22 september 2009 @ 10:06:39 #213
1972 Swetsenegger
Egocentrische Narcist
pi_72992804
quote:
Op dinsdag 22 september 2009 10:04 schreef Darkomen het volgende:

[..]

Dan staat er <? include("/http://www.website.nl/pagina.html")?> ;-)
Dus 'inc/' weghalen.
Het leek me dat DAT wel duidelijk was.
  dinsdag 22 september 2009 @ 10:13:18 #214
49096 cosmick
Les Yeux Orange
pi_72992952
quote:
Op dinsdag 22 september 2009 09:45 schreef Swetsenegger het volgende:
als je dat 'inc' voor die http weghaalt?
Erhm, sorry, die inc had ook niet in die post moeten staan .

Zonder "inc/" werkt het iig ook niet; dan wordt zelfs het divje waar de inc in zit niet eens getoond.
quote:
Op dinsdag 22 september 2009 10:04 schreef Darkomen het volgende:

[..]

Dan staat er <? include("/http://www.website.nl/pagina.html")?> ;-)
Dus 'inc/' weghalen.
Of
http://nl3.php.net/manual/en/function.file-get-contents.php
Had ik al gezien idd. Krijg het wel voor elkaar dat de pagina geladen wordt, maar dan staan er allemaal getallen voor.

Als ik deze gebruik:

<?php
$context=array('http' => array ('header'=> 'Range: bytes=1024-', ),);
$xcontext = stream_context_create($context);
$str=file_get_contents("http://www.site.nl/pagina.html",FALSE,$xcontext);
?>

Blijft het divje iig wel staan (dat is al een ding); maar wordt "pagina.html" niet geladen.
pi_72993269
Met include kun je alleen het file:/// protocol gebruiken, dus http:// gaat niet werken.

En staat allow_url_fopen aan of uit? (zie phpinfo() )
  dinsdag 22 september 2009 @ 10:36:13 #216
49096 cosmick
Les Yeux Orange
pi_72993491
quote:
Op dinsdag 22 september 2009 10:27 schreef Light het volgende:
En staat allow_url_fopen aan of uit? (zie phpinfo() )
Geen idee.. server van klant. Als dit aan staat; werkt het dan wel?
pi_72996685
quote:
Op dinsdag 22 september 2009 10:36 schreef cosmick het volgende:

[..]

Geen idee.. server van klant. Als dit aan staat; werkt het dan wel?
Als je er bestanden op kunt zetten, kun je er ook een php-bestand opzetten met alleen maar
1<?php phpinfo(); ?>
. Die aanroepen via de browser en je krijgt een hoop info.

Als allow_url_fopen aan staat, moet het volgens mij wel werken.
  dinsdag 22 september 2009 @ 12:44:53 #218
49096 cosmick
Les Yeux Orange
pi_72997578
quote:
Op dinsdag 22 september 2009 12:14 schreef Light het volgende:
[quote]Op dinsdag 22 september 2009 12:14 schreef Light het volgende:

[..]

Als je er bestanden op kunt zetten, kun je er ook een php-bestand opzetten met alleen maar
[ code verwijderd ]

. Die aanroepen via de browser en je krijgt een hoop info.

Als allow_url_fopen aan staat, moet het volgens mij wel werken.
Kun je dat iets meer toelichten please?

Site 1, op domein a, bevat lokale includes (html-bestanden met alleen tekst) die ook in Site 2, domein b, geladen moeten worden.
pi_73031288
Kleine vraag m.b.t regex.

Ik wil graag data uit html filteren maar krijg het niet helemaal voor elkaar.

De data die ik wil filteren ziet er zo uit

1<h3>content</h3><div>content</div>


voorbeeld qua regex die werkt

1
2
3
<?php
$regex 
'!' preg_quote('<h3>') . '(.*?)+' preg_quote('</h3><div>') . '(.*?)' preg_quote('</div>') . '!ism';
?>


ik wil dus alleen bovenstaande uitlezen en bv niet als resultaat het volgende krijgen

1
2
<h3>content/<h3><span>dit is een voetbal test</div>
<h3>content</h3><div>content</div>


oftewel ik moet breaken tot </h3> echter krijg ik dit niet voor elkaar met

1[^\</h3\>]


weet iemand wat ik fout doe?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_73032712
quote:
Op woensdag 23 september 2009 10:23 schreef Chandler het volgende:
Kleine vraag m.b.t regex.

Ik wil graag data uit html filteren maar krijg het niet helemaal voor elkaar.

De data die ik wil filteren ziet er zo uit
[ code verwijderd ]

voorbeeld qua regex die werkt
[ code verwijderd ]

ik wil dus alleen bovenstaande uitlezen en bv niet als resultaat het volgende krijgen
[ code verwijderd ]

oftewel ik moet breaken tot </h3> echter krijg ik dit niet voor elkaar met
[ code verwijderd ]

weet iemand wat ik fout doe?
Ik snap niet helemaal wat je wilt doen, maar

1
2
3
$html = "<h3>content</h3><div>content</div>";
preg_match("#<h3>(.*?)</h3><div>(.*?)</div>#", $html, $matches);
var_dump($matches);


(niet getest)
Trotse poster van het 37000000ste bericht ^O^
pi_73033148
Dan moet je hem niet-greedy maken.
Ik weet alleen niet uit m'n hoofd welke modifier dat is, maar dat kan je wel googlen
  woensdag 23 september 2009 @ 16:26:02 #222
49096 cosmick
Les Yeux Orange
pi_73041485
quote:
Op dinsdag 22 september 2009 09:43 schreef cosmick het volgende:
Even een include-vraag .

In sites gebruik ik altijd includes voor headers, footers etc. op deze manier: <? include("inc/scripts.php")?> .

Werkt natuurlijjk prima. Maar wat als ik nu een externe pagina wil includen? Dacht met mijn domme hoofd dat dat simpel zo zou gaan maar helaas:

<? include("ihttp://www.website.nl/pagina.html")?>

Iemand een oplossing?
Het is overigens gelukt met deze code:
1
2
3
4
5
6
7
8
9
10
11
<?php
$ch 
curl_init();

curl_setopt($chCURLOPT_URL,
"http://www.bepaaldewebsite.nl/pagina-text.html");
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT
5.2; en-GB; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7'
);

curl_exec($ch);
curl_close($ch);
?>
pi_73046062
Ik ben nog op zoek naar compacte MVC_modellen in PHP.
Downloadbare.

Compact bedoel ik:
Router,
Controller,
Views,
Models,
Frontcontroller

Niet heel veel meer dan dat.
Liefst Views die icm Smarty oid werkt
  woensdag 23 september 2009 @ 21:40:52 #224
72762 marq
Mr. Psychonaut
pi_73051934
Het heeft je router, frontcontroller en biedt views obv normale PHP, smarty kan ook maar heeft slechts in uitzonderlijke situaties toegevoegde waarde: http://www.codeigniter.com/
Jammer dat CodeIgniter eigenlijk een ontzettend brak geheel is.

Beter neem je dan http://www.kohanaphp.com/ het lijkt veel op CodeIgniter en is wat minder brak maar heeft helaas een ingebouwde ORM aan boord, en een ingebouwde ORM welke specifiek voor dat project is, is meestal van brakke kwaliteit. Het is tenminste een stuk beter dan CodeIgniter.

Eventueel druk je http://doctrine-project.org/ er in, een krachtig stukje ORM. Is je applicatie niet complex genoeg? Dan zal een simpele table gateway redding en eenvoud bieden.

Een stukje MVC voor de puristen, heel erg elegant!
http://code.google.com/p/barebonesmvc-php/

Zaken zoals Cake of Symfony kun je - gezien je vraag - beter buiten beschouwing laten, deze bieden te veel en geven complexiteit en inflexibiliteit terug. Een stevige applicatie met veel business logica en maatwerk zou je al snel met Zend + Doctrine ontwikkelen, Zend's eigen database abstractie is krachtig, maar relaties leggen is een vervelende klus en een ORM biedt het niet.

Als je een echte beginner bent met interesse naar meer, begin dan ook maar gewoon met CodeIgniter, haar simplistische architectuur is binnen een kwartier te bevatten.
Sigmoid: f(x) = 1 / (1 + 2.718281828458# ^ -x)
pi_73066622
quote:
Op woensdag 23 september 2009 11:27 schreef Xcalibur het volgende:
Dan moet je hem niet-greedy maken.
Ik weet alleen niet uit m'n hoofd welke modifier dat is, maar dat kan je wel googlen
Dat heb ik geprobeerd maar op een of andere manier werkt het niet en krijg ik toch meer resultaten dan wat ik zoek
The people who lost my respect will never get a capital letter for their name again.
Like trump...
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')