mysql while vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Pagina: 1 2 volgende »

Eeyk Vd noot

Eeyk Vd noot

14/03/2015 16:05:33
Quote Anchor link
goede middag, kan iemand mij uitleggen hoe dit werkt?

ik heb hier een script :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql_sql
= mysqli_query($dbcreat,
"SELECT * FROM `vriendenlijst` WHERE
`naam_1`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' or
`naam_2`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' AND `bevestigd`='1'") or die(mysqli_error($dbcreat));
 
$sqll     = mysqli_fetch_object($sql_sql);
$sqll_gevonden  = mysqli_num_rows($sql_sql);

 $berichten = mysqli_query($dbcreat,"SELECT * FROM berichten_muur
  WHERE
  `gebruikersnaam`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' or
  `gebruikersnaam`='"
.mysqli_real_escape_string($dbcreat,$sqll->naam_1)."' or
  `gebruikersnaam`='"
.mysqli_real_escape_string($dbcreat,$sqll->naam_2)."'");

while($object = mysqli_fetch_object($berichten)){
 
?>

het probleem is dat als je 3 vrienden hebt je maar 3 berichten te zien krijgt.
maar als er 10 berichten zijn en je hebt maar 3 vrienden blijven er maar 3 berichten staan.
hoe krijg ik dit dat als er 10 berichten zijn dat je ze ook alle 10 te zien krijgt en niet maar 3?

kan iemand mij helpen? ik ben al paar dagen bezig met deze fout, ik heb al van alles geprobeert van Inner en cross join en nog veel meer.
 
PHP hulp

PHP hulp

27/04/2024 02:18:57
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 16:42:51
Quote Anchor link
(A OR B) AND C
is iets compleet anders dan
A OR (B AND C)

Het lijkt mij altijd beter om expliciet te zijn in wat je bedoelt. Volgens mij was zo'n AND/OR vraag al eerder aan de orde geweest?

Daarnaast: gebruik (ook hier :)) user ID's in plaats van user namen...

Tevens: misschien kun je dit splitsen in VERZONDEN en ONTVANGEN berichten?
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 17:01:48
Quote Anchor link
Je verzend niks en ontvangt niks.
het is een soort gastenboek waar je kan lezen wat je vrienden typen.
ook als ik dit veranderd in user->id werkt er niks.

er blijven maar 3 berichten staan.


alleen als ik

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php  $berichten = mysqli_query($dbcreat,"SELECT * FROM berichten_muur"); ?>


gebruik en in de while

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
 if($vrienden->naam_1 == $gebruikersnaam or $vrienden->naam_2 == $gebruikersnaam or $data->login == $gebruikersnaam
?>


werkt het prima. alleen het probleem is dat ik dan geen pagina 1 2 3 4 5 ect kunt toevoegen omdat als ik dat wil toevoegen de pagina nummer werken op het aantal vrienden dat je hebt.

weet iemand het antwoord?
Gewijzigd op 14/03/2015 17:02:36 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 17:14:48
Quote Anchor link
Ik zou eerst je vriendelijst eens fixen. Zowel naam1 als naam2 kun je zelf zijn.

Daarnaast zou ik user id's gebruiken.

Hieruit bouw je dan uiteindelijk een lijst van vrienden-id's.

Dan kun je een query bouwen waarbij je bericht opvraagt die ofwel van jou zijn, ofwel van een (bevestigde) vriend.

Of je bouwt een lijst van gebruiker-id's, waarbij je bestaande gebruiker-ids (jezelf) steeds overschrijft zodat je een lijst van unieke gebruikers overhoudt. Die je weer voor de berichtenmuur-query kunt gebruiken.

EDIT: het probleem is ook dat je van je eerste query maar één resultaat ophaalt...
Gewijzigd op 14/03/2015 17:16:17 door Thomas van den Heuvel
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 17:20:34
Quote Anchor link
Hoe zorg ik er voor dat de query meerderemaals word opgehaald?
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 17:24:06
Quote Anchor link
Lees die vraag nog eens hardop voor :).

Het is niet geheel ondenkbaar dat dit meerdere resultaten oplevert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sql_sql
= mysqli_query($dbcreat,
"SELECT * FROM `vriendenlijst` WHERE
`naam_1`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' or
`naam_2`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' AND `bevestigd`='1'") or die(mysqli_error($dbcreat));
?>


Hoe haal je normaal meerdere resultaten op? Met een while-loop wellicht?
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 17:30:32
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql_sql
= mysqli_query($dbcreat,
"SELECT * FROM `vriendenlijst` WHERE
(`naam_1`='"
.mysqli_real_escape_string($dbcreat,$data->login)."' or
`naam_2`='"
.mysqli_real_escape_string($dbcreat,$data->login)."') AND `bevestigd`='1'") or die(mysqli_error($dbcreat));
 
$sqll_gevonden  = mysqli_num_rows($sql_sql);
while($sqll = mysqli_fetch_object($sql_sql)){
 $berichten = mysqli_query($dbcreat,"SELECT * FROM berichten_muur
  WHERE
  gebruikersnaam='"
.mysqli_real_escape_string($dbcreat,$data->login)."' or
  gebruikersnaam='"
.mysqli_real_escape_string($dbcreat,$sqll->naam_1)."' or
  gebruikersnaam='"
.mysqli_real_escape_string($dbcreat,$sqll->naam_2)."'
  ORDER BY datum DESC
  "
);
}


while($object = mysqli_fetch_object($berichten)){ ?>


ik probeer nu dit maar dit geeft nog steeds niet het juiste resultaat.

Toevoeging op 14/03/2015 17:48:23:

ik heb gedaan wat je ze en alles op id gezet maar dit lost niks op helaas.
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 17:51:11
Quote Anchor link
1. Bouw een vriendelijst en sla (bij voorkeur) id's of wat dan ook op in bijvoorbeeld een array.

2. Haal, mits je vriendenlijst niet leeg is, alle berichten op die afkomstig zijn van deze personen. Gebruik hierbij bijvoorbeeld de IN (...) constructie van MySQL:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$query
=
    'SELECT *
    FROM berichten_muur
    WHERE poster_id = '
.$jouwUserId.'
    OR poster_id IN ('
.implode(',', $nietLegeLijstVanVriendenIds).')';
?>


En for the love of all that is good and holy: refereer aan users via hun ID, niet via hun naam.
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 17:54:28
Quote Anchor link
Dus dit moet ik invullen als :

$query =
'SELECT *
FROM berichten_muur
WHERE poster_id = '.$data->id.'
OR poster_id IN ('.implode(',', $sqll->id_gebruiker_2 or $sqll->id_gebruiker_2).')';

?
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 17:57:57
Quote Anchor link
Nee, je moet, zoals in stap 1 staat, eerst een lijst bouwen - dit is een aparte query. De resultaten hiervan zet je in een array. Dit array gebruik je vervolgens weer in een andere query.

Lees eens goed wat ik schrijf, ik heb niet het idee dat ik onduidelijk ben.
 
Ivo P

Ivo P

14/03/2015 18:05:15
Quote Anchor link
ik heb de afgelopen week volgens mij vrijwel dezelfde vraag gezien waaruit toen een oplossing kwam met 1 query.

Was dat ook een vraag van jou, of zijn meer mensen met hetzelfde probleem bezig?
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 18:08:43
Quote Anchor link
dat was de zelfde vraag inderdaad, het probleem echter met de oplossing van toen is dat je alle berichten 2x te zien kreeg.

en je eigen bericht 3x. ik heb nu in me database naam_1 en naam_2 vervangen door id_1 en id_2. en de gebruikersnaam in berichten muur door gebruikers_id.


als je bij de vorige oplossing 3 vrienden had kreeg je je eigen berichten 3x te zien had je 5 vrienden kreeg je je eigenberichten 5x te zien.
Gewijzigd op 14/03/2015 18:11:14 door Eeyk Vd noot
 
Dos Moonen

Dos Moonen

14/03/2015 18:38:45
Quote Anchor link
Het kan en hoort in één query.

Hier is wat pseudo SQL van hoe het zou kunnen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT kolommen FROM berichten INNER JOIN (<die query met meerdere resultaten, maar dan alleen het id> GROUP BY <id veld van het bericht>) AS ids ON ids.id = bericht.id
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 18:57:23
Quote Anchor link
SELECT * FROM berichten_muur AS BB
INNER JOIN
(SELECT * FROM vriendenlijst AS TT
WHERE TT.naam_1='".mysqli_real_escape_string($dbcreat,$data->login)."'
OR TT.naam_2='".mysqli_real_escape_string($dbcreat,$data->login)."') AS TTT
ON BB.gebruikersnaam= TTT.naam_2 or BB.gebruikersnaam= TTT.naam_1 AND BB.pagina='overzicht'


dat heb ik al eens geprobeerd alleen dan krijg ik maar 3 berichten te zien.
en als je 4 vrienden hebt krijg je 4 berichten te zien terwijl er bijvoorbeeld 20 berichten staan.



Toevoeging op 14/03/2015 19:01:01:

ik heb er id van gemaakt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$berichten
= mysqli_query($dbcreat,"SELECT * FROM berichten_muur AS BB
INNER JOIN
(SELECT * FROM vriendenlijst AS TT
WHERE TT.id_1='"
.mysqli_real_escape_string($dbcreat,$data->id)."'
OR TT.id_2='"
.mysqli_real_escape_string($dbcreat,$data->id)."') AS TTT
ON
(BB.gebruiker_id = TTT.id_1 OR
 BB.gebruiker_id = TTT.id_2) AND
 BB.pagina='overzicht'
 "
) or die(mysqli_error($dbcreat));
 

?>


vrienden aanvragen en berichten plaatsen werkt nu ook op id.



Toevoeging op 14/03/2015 19:09:59:

maar nog steeds werkt het niet.
Gewijzigd op 14/03/2015 19:12:55 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 19:39:01
Quote Anchor link
Door de manier waarom de vriendelijst-tabel in elkaar zit leent een oplossing met 1 query zich hier niet direct voor. Ook zou je je niet in allerlei moeilijke/onmogelijk bochten moeten wringen om het met 1 query op te lossen. Daarnaast heb je een ("jouw") vriendenlijst wellicht vaker nodig dus valt er best iets te zeggen om dat elke page-access opnieuw te berekenen en in een user-object op te slaan ofzo.

Tevens is er niets mis met de "verdeel en heers" strategie: deel je probleem op in deelproblemen die je afzonderlijk oplost. Ik snap de aversie voor meerdere queries niet.

Begin dus gewoon eerst eens met het opstellen van een array in PHP, waarin de gebruiker-id's van jouw vrienden zitten.

Deze bouwsteen kun je vervolgens toepassen in andere onderdelen, bijvoorbeeld queries.
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 19:45:59
Quote Anchor link
Het vreemde is dat alles op andere pagina's wel werken.
bijvoorbeeld de vrienden pagina is ook opgebouwd met de zelfde soort constructie.

Afbeelding

Toevoeging op 14/03/2015 19:50:11:

Hoe bedoel je eigenlijk met array's? of zit ik nou totaal ergens anders aan te denken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$hot
= array("ik", "jij", "tot ziens");
echo "hallo ".$hot[0].", ben eeyk en  ".$hot[1]." leuk je te ontmoeten ".$hot[2];
?>


zo iets?

Toevoeging op 14/03/2015 20:00:54:

ik gebruik nu

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$berichten
= mysqli_query($dbcreat,"SELECT * FROM berichten_muur");
$toegestaan = 1;
while($object = mysqli_fetch_object($berichten){
$gebruikersnaam = $object->gebruikers_id;
 if($vrienden->id_1 == $gebruikersnaam or $vrienden->id_2 == $gebruikersnaam or $data->id == $gebruikersnaam AND $toegestaan = 40){


$toegestaan++;
}
else{}

}

?>


als tijdelijke oplossing en kom ik er ooit achter zou het mooi zijn.
Gewijzigd op 14/03/2015 20:10:26 door Eeyk Vd noot
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2015 20:58:56
Quote Anchor link
Bloody hell.

De lijst van jouw vrienden.

Ik type toch geen Chinees?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$mijnVrienden
= array();

$res = mysqli_query(
    $dbcreat,
    'SELECT user_id_1, user_id_2
    FROM vriendenlijst
    WHERE (user_id_1 = '
.$mijnUserId.' OR user_id_2 = '.$mijnUserId.')
    AND bevestigd = 1'

);
// bouw die lijst nou eens
while ($row = mysqli_fetch_assoc($dbcreat, $res)) {
    // overschrijf gewoon alle keys, zodat je een array met unieke gebruiker id's overhoud
    $mijnVrienden[$row['user_id_1']] = true;
    $mijnVrienden[$row['user_id_2']] = true;
}

// geef resultaat vrij
mysqli_free_result($res);
// verwijder jezelf als vriend van jezelf
unset($mijnVrienden[$mijnUserId]);
?>

Vervolgens kun je met array_keys($mijnVrienden) je queries opbouwen.

Zorg wel dat $mijnVrienden niet leeg is voordat je deze in constructies als "... IN (...)" gebruikt. Zoals hier boven al is beschreven.

Wel ff $mijnUserId en user_id_1 en user_id_2 aanpassen aan whatever jij gebruikt in je code uiteraard...

Om eerlijk te zijn, als je dit niet volgt vraag ik mij eigenlijk hardop af waarom je dan wel aan een klus als het bouwen van een soort van community bezig bent.
Gewijzigd op 14/03/2015 21:04:26 door Thomas van den Heuvel
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 21:25:49
Quote Anchor link
Bedankt voor de moeite!

ik ga er mee aan de slag! ik hoop dat het werkt.
Nogmaals bedankt.
ik ben bezig met een soort van 'community' voor Nederlanders en belgen.
Waar men foto's, video's kan delen en met elkaar contact kan opnemen, ect.
 
Dos Moonen

Dos Moonen

14/03/2015 22:00:43
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
SELECT B.*
FROM berichten_muur AS B
INNER JOIN (
  SELECT IB.id
  FROM berichten_muur AS IB
  WHERE IB.gebruikersnaam = ?

  U N I O N ALL // zonder die spaties... phphulp lijkt een stomme anti sql-injection blacklist te hebben -.-

  SELECT IB.id
  FROM berichten_muur AS IB
  INNER JOIN vriendenlijst AS V
  ON V.naam1 = IB.gebruikersnaam
  WHERE V.gebruikersnaam = ?

  U N I O N ALL

  SELECT IB.id
  FROM berichten_muur AS IB
  INNER JOIN vriendenlijst AS V
  ON V.naam2 = IB.gebruikersnaam
  WHERE V.gebruikersnaam = ?
) AS IDS
ON IDS.id = B.id
ORDER BY een_datum_lijkt_me_handig


probeer dit eens...

Joinen op integers (altijd 4 bytes) is fijner voor een database dan joinen op strings (varchars zijn variabel in lengte, hoeveel bytes per teken hangt af van de encoding. het kan zijn dat 'dos' als 12 bytes kost om op te slaan.)
vervang het veld gebruikersnaam is tabel berichten_muur dus aub door een id en haal de gebruikers naam op via een join...
Hoe langer je wacht hoe moeilijker het wordt die fout te verbeteren.

PS. het GROUP BY gedeelte van mijn pseudo code was erg belangrijk...
PPS. PosqlgreSQL > MySQL
Gewijzigd op 14/03/2015 22:02:48 door Dos Moonen
 
Eeyk Vd noot

Eeyk Vd noot

14/03/2015 22:34:26
Quote Anchor link
@dos moonen Thanks het werkt alleen ik blijf deze fout houden.
met alles wat ik doe, iedere manier.

alles komt dubbel vrienden aantal = jou bericht dubbel.
dus 4 vrienden = 4x jou bericht zichtbaar.

Afbeelding


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
$vrienden_bericht
= mysqli_query($dbcreat,
"SELECT * FROM `vriendenlijst` WHERE (`naam_1`='".mysqli_real_escape_string($dbcreat,$data->login)."' or `naam_2`='".mysqli_real_escape_string($dbcreat,$data->login)."') AND `bevestigd`='1' LIMIT 0,2500") or die(mysqli_error($dbcreat));
while($ovj     = mysqli_fetch_object($vrienden_bericht)){
$berichten = mysqli_query($dbcreat,"
SELECT B.*
FROM berichten_muur AS B
INNER JOIN (
  SELECT IB.id
  FROM berichten_muur AS IB
  WHERE IB.gebruiker_id = '"
.mysqli_real_escape_string($dbcreat,$ovj->id_1)."' or IB.gebruiker_id = '".mysqli_real_escape_string($dbcreat,$ovj->id_2)."'
  
  U NION ALL
  
  SELECT IB.id
  FROM berichten_muur AS IB
  INNER JOIN vriendenlijst AS V
  ON V.id_1 = IB.gebruiker_id
  WHERE V.id_1 = '"
.mysqli_real_escape_string($dbcreat,$ovj->id_1)."'
  
  U NION ALL
  
  SELECT IB.id
  FROM berichten_muur AS IB
  INNER JOIN vriendenlijst AS V
  ON V.id_2 = IB.gebruiker_id
  WHERE V.id_2 = '"
.mysqli_real_escape_string($dbcreat,$ovj->id_2)."'
) AS IDS

ON IDS.id = B.id
ORDER BY B.datum DESC"
) or die(mysqli_error($dbcreat));
}

?>
Gewijzigd op 14/03/2015 22:47:45 door Eeyk Vd noot
 
Dos Moonen

Dos Moonen

15/03/2015 11:41:21
Quote Anchor link
Woops, de twee selects met joins hebben een group by clause nodig, of haal het 'ALL' weg.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.