abonnement Unibet Coolblue Bitvavo
pi_61306585
Als ik probeer te verbinden met de database van mijn provider PCextreme krijg ik de volgende melding:

1Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


Wie-o-wie weet de oplossing, ik zal diegene eeuwig dankbaar zijn _O_.
Aan dit bericht kunnen geen rechten worden ontleend.
pi_61306674
Ik gok dat je niet het juiste ipadres of de juiste hostnaam hebt ingevuld.
pi_61306930
quote:
Op maandag 1 september 2008 22:23 schreef Farenji het volgende:
Ik gok dat je niet het juiste ipadres of de juiste hostnaam hebt ingevuld.
quote:
Database-server: sql10.pcextreme.nl (sql10.pcextreme.nl)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
    $mysqlserver 
"sql10.pcextreme.nl"
    
$user "user"
    
$password "password"
    
$database "database";
    
    
$connect mysql_connect($mysqlserver$user$password
    or die (
mysql_error());
    
// echo "<p>Er is een connectie opgezet met de MySQL-server: <strong>" . $mysqlserver . "</strong>. ";
        
    
mysql_select_db($database)
    or die (
mysql_error()); 
    
// echo " Van deze MySQL-server is de database <strong>" . $database . "</strong> geselecteerd.</p>";
?>
Aan dit bericht kunnen geen rechten worden ontleend.
pi_61309841
Ik heb nu twee tabellen,

users & company.

tabel company bestaat uit id, naam en uids
tabel users bestaat uit id en naam

Nu wil ik in een pagina in een multi select box alle users tonen en meerdere users tegelijkertijd kunnen selecteren en de waarde daarvan toevoegen in tabel company.

Dus stel ik heb Erik met id 1 en Peter met id 2 en company Microsoft heeft beide users dan komt er in de row van Microsoft te staan: Microsoft met id 1 en uids 1;2 of misschien is dit als array ook mogelijk?

Wat heb ik is iig een simpel multi select box:
1
2
3
4
5
6
7
8
<?php
echo '<SELECT MULTIPLE SIZE=10>';
while(
$row mysql_fetch_array($result)){
echo 
'<OPTION VALUE='.$row["id"].'>';
echo 
$row["name"];
}
echo 
"</SELECT>";
?>


Nu moeten de waardes van de geselecteerde items alleen toegevoegd worden aan company en juist daar zit ik nu een beetje mee..
pi_61310108
Een veld in mysql bevat altijd 1 waarde; geen lijst van waardes. Dit kan op zich wel maar is echt af te raden, aangezien je dat nauwelijks kan doorzoeken en beheren.

Je moet jezelf afvragen: kan een user bij meerdere companies horen?

Zo ja, dan heb je een extra jointabel nodig (met velden company_id en user_id) omdat dit een many 2 many relatie is. Hiermee koppel je de users aan companies

Als een user maar bij 1 company kan horen, maak je in de user tabel een extra veld company_id.
  maandag 1 september 2008 @ 23:57:55 #206
75592 GlowMouse
l'état, c'est moi
pi_61310210
quote:
Op maandag 1 september 2008 23:53 schreef Farenji het volgende:
Een veld in mysql bevat altijd 1 waarde; geen lijst van waardes.
Behalve een veld van het type set, maar die ben ik nog nooit in het wild tegengekomen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_61310462
Ja een user kan meerdere companies hebben. Ik doe het trouwens zo omdat ik dit voor een complexere situatie op hetzelfde manier moet gaan doen, een company row moet dus meerdere waardes van users kunnen bevaten in uids, ik hoop dat dit toch op de een of ander manier mogelijk is?

Het uiteindelijke doel is om in de uids van het bedrijf te doorzoeken waar er allemaal bijv uids 1 staat en alleen de namen van de bedrijven die daarbij horen toe te voegen.

Nogmaals dit slaat natuurlijk nergens op, maar dit is een test voor een complexere situatie waar ik geen andere keus heb op dit moment.
pi_61313430
Dat wordt toch echt een koppeltabel maken dan
  dinsdag 2 september 2008 @ 08:49:07 #209
12880 CraZaay
prettig gestoord
pi_61313760
quote:
Op dinsdag 2 september 2008 00:07 schreef Hafez het volgende:

Nogmaals dit slaat natuurlijk nergens op, maar dit is een test voor een complexere situatie waar ik geen andere keus heb op dit moment.
Dan wordt het tijd om ander werk te zoeken of de opdracht te weigeren. Serieus. Je gebruikt een relationele database.
pi_61313788
Ik ben er al achter hoe je meerdere timestamps kunt gebruiken in een tabel (ongeacht of het nuttig is of niet).

CREATE TABLE t
(
ts1 TIMESTAMP NULL DEFAULT NULL,
ts2 TIMESTAMP NULL DEFAULT 0,
ts3 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
);

zet default op NULL

en ik had in het topic wat gemist
quote:
Die nummers kun je het beste opslaan als een mediumint (signed/unsigned, afhankelijk van of je wel/geen negatieve nummers tegenkomt).
dit ging over nummers met een punt bv

832.121
432.111
52.112

nu wil ik ze ook precies zo opslaan (met de punt) en dat doe ik nu in een varchar 10, echter zou ik willen weten of hier ook een andere functie voor is?

[ Bericht 49% gewijzigd door Chandler op 02-09-2008 09:38:47 ]
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_61314508
Werkt dat ook met een ON UPDATE ?
Want het automatisch updaten vind ik interessanter dan het automatisch vullen bij het inserten

Edit: beetje je post zitten editten
Dit ging dus over de timestamps
pi_61314971
Ik heb de timestamps aangepast dat het niet automatisch updated, aangezien ik bij een ON UPDATE zelf deze kolom aanpas
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 2 september 2008 @ 10:58:10 #213
12880 CraZaay
prettig gestoord
pi_61316007
quote:
Op dinsdag 2 september 2008 08:52 schreef Chandler het volgende:

nu wil ik ze ook precies zo opslaan (met de punt) en dat doe ik nu in een varchar 10, echter zou ik willen weten of hier ook een andere functie data type voor is?
Wat denk je er zelf van

RTFM: http://dev.mysql.com/doc/refman/5.0/en/data-types.html
pi_61320179
duidelijk double
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_61337377
Weet iemand welke sneller is?

SELECT num FROM products ORDER BY num DESC LIMIT 0,1

of

SELECT MAX(num) FROM products

Nog een klein vraagje: stel je wilt een subquery uitvoeren, bv:

SELECT a, b, c, (SELECT bla FROM bla ...) as d FROM bla2

Maar hoe kan je dan bijvoorbeeld selecteren op 'd'? (zonder de subquery uit te voeren bij 'WHERE')

Dus bijvoorbeeld:
SELECT a, b, c, (SELECT bla FROM bla ...) as d FROM bla2 WHERE d = x
..///
pi_61337660
quote:
Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Maar hoe kan je dan bijvoorbeeld selecteren op 'd'? (zonder de subquery uit te voeren bij 'WHERE')
Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?
pi_61337713
quote:
Op woensdag 3 september 2008 01:07 schreef slakkie het volgende:

[..]

Waarom zou je de subquery niet willen uitvoeren in je WHERE clause?
Omdat hij dan 2x wordt uitgevoerd? (of wordt dat automatisch geoptimaliseerd? )
..///
pi_61337776
Okay..


SELECT a, b, c, (SELECT bla FROM bla ...) as d FROM bla2 WHERE d = x

=>

SELECT a, b, c, (SELECT bla FROM bla where bla = x) as d FROM bla2

???
pi_61337862
Dit moet ik hebben:

SELECT a, b, c, (SELECT bla FROM bla where bla = x) as d FROM bla2 WHERE d < x

Maar dat gaat niet, dus zou ik zoiets moeten doen:

SELECT a, b, c, (SELECT bla FROM bla where bla = x) as d FROM bla2 WHERE (SELECT bla FROM bla where bla = x) < x
..///
pi_61338002
Kan je misschien iets meer inzicht kunnen geven in je queries ipv abstracte a, b, c, d, bla's en what nots?

je wilt dat bla x is of kleiner is dan x? Dan kan je toch where bla <= x uitvoeren in 1 subquery (of is het nou =<, mag je zelf ff uitproberen).
pi_61338173
ok

Dit werkt:

SELECT id, name, (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) AS numshops
FROM products WHERE (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) > 0

Maar als ik dit doe (wat een stuk makkelijker zou zijn):

SELECT id, name, (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) AS numshops
FROM products WHERE numshops > 0

Krijg ik een error (iets in de zin van dat numshops niet bestaat).
..///
pi_61338715
quote:
Op woensdag 3 september 2008 01:50 schreef wipes66 het volgende:
SELECT id, name, (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) AS numshops
FROM products WHERE (SELECT COUNT(id) FROM feed_items WHERE product_id = products.id) > 0
Kan je dan niet beter zoiets doen:

SELECT products.id as p_id, products.name as p_name, COUNT(feed_items.id) as numshops
FROM products, feed_items
WHERE feed_items.product_id = p_id
GROUP BY p_id, p_name, numshops
HAVING numshops > 0
pi_61339493
quote:
Op woensdag 3 september 2008 00:50 schreef wipes66 het volgende:
Weet iemand welke sneller is?

SELECT num FROM products ORDER BY num DESC LIMIT 0,1

of

SELECT MAX(num) FROM products
ik zou zeggen dat MAX(num) sneller is, om de eenvoudige reden dat deze gemaakt is voor de handeling... maar ik kan het niet onderbouwen ofzo
pi_61376958
quote:
Op woensdag 3 september 2008 03:59 schreef slakkie het volgende:

[..]

Kan je dan niet beter zoiets doen:

SELECT products.id as p_id, products.name as p_name, COUNT(feed_items.id) as numshops
FROM products, feed_items
WHERE feed_items.product_id = p_id
GROUP BY p_id, p_name, numshops
HAVING numshops > 0
tnx ik zal het eens proberen.
..///
  donderdag 4 september 2008 @ 22:44:39 #225
36431 bleiblei
Toogmakker:copyright:
pi_61388208
Ik heb echt gigantisch simpele domme vraag, maar ik krijg zo snel ff geen oplossing gevonden.
Als ik deze query heb:
quote:
SELECT a.*, b.*
FROM a, b
WHERE a.id = b.id
En ik wil de data uit de array ophalen.
Hoe moet dat dan? .
Ik krijg het dus nergens gevonden en:
quote:
while ($rij = mysql_fetch_array($result)) {
$id = $rij['a.id'];
$name = $rij['b.name'];
}
wat mij het meest logische leek, werkt niet.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')