Flere ID

Tags:    php

Nogen der kan fortælle mig hvordan jeg får nedenstående kode til at hente flere forskellige ID fra forum_id. Det er meningen at den skal vise de offentlig tilgængelige overskrifter fra et forum på en anden side, men da nogen forum er begrænset til medlemmer, Admins og gruppemedlemskaber kan jeg ikke bare trække alle sammen ud.

Fold kodeboks ind/udKode 


Denne kode henter kun fra forum_id 81, så hvordan får jeg den til at hente fra 12, 20, 21, 35 og 47.. for at tage nogle tal.. ??

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato

SELECT .. FROM ... WHERE id = 1 OR id = 2 OR id = 3 ...
eller
SELECT .. FROM ... WHERE id in(1,2,3,4,) ..

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk



Nogen der kan fortælle mig hvordan jeg får nedenstående kode til at hente flere forskellige ID fra forum_id. Det er meningen at den skal vise de offentlig tilgængelige overskrifter fra et forum på en anden side, men da nogen forum er begrænset til medlemmer, Admins og gruppemedlemskaber kan jeg ikke bare trække alle sammen ud.

Fold kodeboks ind/udKode 


Denne kode henter kun fra forum_id 81, så hvordan får jeg den til at hente fra 12, 20, 21, 35 og 47.. for at tage nogle tal.. ??

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



Hvis det er de 3 sidste nyheds overskrifter kan du jo gøre sådan:
<pre>
<?php
$newtopics =mysql_query("SELECT * FROM phpbb_topics ORDER BY forum_id DESC LIMIT 0,3");

while ($topic = mysql_fetch_array($newtopics)) {
extract($topic);
echo "<a href=\\"http://anakin.dk/forum/viewtopic.php?p=$topic_id\\" target=\\"_blank\\">$topic_title</a>";
}

</pre>
Så tar den de 3 nyeste (altså med højest 'forum_id' id) fra databasen og udskriver.

nb. Kan godt være at desc skal skiftes ud med asc, hvis den i stedet ud skriver 1,2,3...
kan aldrig huske hvad der er hvad.)


Rasmus




SELECT .. FROM ... WHERE id = 1 OR id = 2 OR id = 3 ...
eller
SELECT .. FROM ... WHERE id in(1,2,3,4,) ..


Gode svar fra jer begge, og de virker fint.. men, jeg forstår ikke hvorfor jeg ikke kan få forbindelse til databasen på det ene domæne fra hjemmeside på det andet domæne.. det er deri hele pointen ligger.

Jeg inkludere en fil med disse oplysninger i starten af filen:

Fold kodeboks ind/udKode 


Men siden skriver:

Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/web/web3157/includes/forum_10_nye.php on line 3

Warning: mysql_query(): A link to the server could not be established in /home/web/web3157/includes/forum_10_nye.php on line 3

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/web/web3157/includes/forum_10_nye.php on line 4

Hvorfor kan det ikke virke ??

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..




Som altid - tjek returkoder..

mysql_connect(..) or die("connect-error: " . mysql_error());

Men der kan være mange årsager. Har du samme problem med andre scripts? Eller er det kun dette script der har problemet?

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk

[Redigeret d. 20/02-04 11:14:03 af Dennis Møllegaard Pedersen]




Som altid - tjek returkoder..

mysql_connect(..) or die("connect-error: " . mysql_error());

Men der kan være mange årsager. Har du samme problem med andre scripts? Eller er det kun dette script der har problemet?


Returkoder? Hvordan læser du dem?
Jeg kunne sikkert få det til at virke hvis jeg indsatte mine mysql oplysninger i koden, men dem ønsker jeg ikke at udlevere, og det må da også være muligt hvis man kender stien at kunne logge ind og hente data i min database ?!?

Har du evt. et forslag til hvordan koden kunne se ud, og evt. hvordan mysql connect skulle se ud hos mig ??


Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



Hej Frank,

Hvis det er en database på et helt andet domæne du forsøger at connecte til (og sådan forstår jeg det?), så skal du nok lige undersøge om dette domæne overhovedet tillader eksterne connects!?

Hovedparten af de prisvenlige webhoteller med PHP/MySQL tillader kun connect fra localhost (altså scripts som er placeret på samme domæne)....ved ikke om jeg har forstået problemet, og om det kan være det, men det så efter en hurtig gennemlæsning af tråden ud til at være et kvalificeret bud :)

Hilsen Jon

Tilføjelse:
PS. Hvis du kan connecte manuelt fra en MySQL klient som er lokalt installeret på din pc (eks. MySQL Administrator), så er ovenstående ikke dit problem. Hvis du tilsyneladende kun kan connecte manuelt via et webinterface hos udbyderen (eks. PhpMyAdmin), så er det højst sandsynligt, at ovenstående er dit problem.

[Redigeret d. 20/02-04 13:16:37 af Jon Krondal Honum]





Returkoder? Hvordan læser du dem?


F.eks står der i manualen at: mysql_connect(). Returns a MySQL link identifier on success, or FALSE on failure.

Dvs når du bruger mysql_connect() så bør du se om den returnere FALSE, da der så er sket en fejl. Hvis der sker fejl - så kan du efterfølgende bruge mysql_error() til at se en fejlbesked.

Dennis Møllegaard Pedersen
http://dennis.moellegaard.dk



Jeg siger tak til Jon og Dennis for jeres forklaringer, og må efter din forklaring om ekstern connect konkludere at vores webhoteller ikke tillader det, til trods for at de er identiske og hos samme udbyder.

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



t