8791 sujets

Développement web côté serveur, CMS

bon pr linstant le pojet est laissez de coté = ) pour voir si on peux modifié les serveurs...

j'ai une question qui n'a rien a voir avoir ce probleme...

j'ai fait une requete sql sur 2 tables
du genre select * from table1 tables2 where trlalalal ect ect

apres je fais un $row=mysql_fetch_array()

et je veux récupéré l'id qui est

$row['id'] or il s'avere que il ya id se trouve dans la table 1 et également dans la table 2.

comment je peux faire pour choisir celui que je veux?

jai testé $row['table1.id'];
cela ne marche pas...

merci = )



///////////::::

ANCIEN PROBLEME

Bonjour,

j'ai récupéré un script pour faire un moteur de recherche qui est blork !
hors en local il marchait mais sur le serveur qui est du php3 cela ne marche pas

Ne conaissant pas trop la différence entre 3 et 4 j'aimerai savoir ou cela bloque?

au niveau du code suivant

foreach($encore2 as $nom_du_soudos=>$le_soudos){
$fp=opendir("$le_soudos");
while($file = readdir($fp)){
if($file!='.' && $file!='..'){
$verif=$le_soudos."/".$file;
if(is_dir($verif) && !(in_array($verif, $dossier)) && !(in_array($verif, $exclu))){

$dossier[]="$verif";
$encore1[]="$verif";

}}}
closedir($fp);
unset($fp,$nom_du_soudos,$le_soudos);
$encore2=array(); }

merci = )
Modifié par pinouf (01 Aug 2007 - 15:24)
Bonjour,

tu marques ceci :

$verif=$le_soudos."/".$file; 


donc à priori $verif est un fichier si je ne m'abuse .. puis à la ligne suivant tu testes si c'est un dossier .. peut-être que ton erreur vient de là non ..en tout cas je pense que c'est une piste Smiley cligne

Ps: pense à utiliser les tags code lorsque tu postes un message Smiley cligne
je viens de testé rafale de supprimé mais sans aucun succes
ce que je ne comprend pas , c'est que l'erreur est un parse error
a la ligne 168 qui est

$encore2=array(); }


or meme si je suprime tout un bloc du code l erreur reste toujours a la ligne 168...

je suis un peu perdu la
merci = )

comment faire pour transformer la syntaxe

foreach($dossier as $nomdos=>$d)
{

}

en php 3 ?
Oo
jai du mal
Quelque chose comme
while(list($nomdos, $d) = each($dossier)) {

}


Aucune idée de la disponibilité de ces fonctions/elements sur php3 par contre.
Modifié par Necromantik (27 Jul 2007 - 12:33)
merci necromatik = )

j'ai une erreur a la derniere ligne Oo

peut etre que php3 ne connait pas " ?> " ???

include("blork_engine_bas.html");

?>
j'ai réglé mon probleme = )
mais une nouvelle est apparu = )

toujours dans l'optique de passé du php 4 au php 3

j'ai la fonction in_array() qui n'est pas reconnu par php 3
ainsi par exemple : in_array($verif, $dossier) cherche si $verif existe dans le tableau $dossier

si vous avez un équivalent en php3 vous etes la bienvenu = )
Pour être vraiement franc... Mieux vaut abandonner l'idée. Déjà il y a un sacré paquet de trucs qui existaient pas en PHP3. Ensuite il n'est pas maintenu depuis moult, doit y avoir un paquet de failles qui pourrait compromettre gravement ton serveur Smiley decu

N'as-tu vraiment pas le choix ?
FlorentG a écrit :
Pour être vraiement franc... Mieux vaut abandonner l'idée. Déjà il y a un sacré paquet de trucs qui existaient pas en PHP3. Ensuite il n'est pas maintenu depuis moult, doit y avoir un paquet de failles qui pourrait compromettre gravement ton serveur Smiley decu

N'as-tu vraiment pas le choix ?

Je suis entièrement d'accord sur ce point. À l'heure ou php 6 commence à pointer son nez dans des versions dev, php3 est obsolète voir dangereux niveau securité.

Après si tu n'as pas le choix tu peux toujours émuler in_array() à l'aide des mêmes fonctions que j'ai citées dans mon précédent message.
bonsoir = )

oui je suis en train de modifier toute les fonction inexistantes et de les refaire mais ya tjours un soucis ....

ben le probleme est que le serveur est à un client = ) donc...

j'ai décidé de abadonner de modifié le script ...

Si vous avez un script qui fait un moteur de recherche sans base de donnée compatible en php3...
sa sera la bienvenu = )
en plus c urgent ...
merci = )
Je penses pas qu'il existe encore le moindre script développé pour php3.
C'est un peu comme essayer de retrouver un programme avec des fonctionnalités actuel mais pour windows 95.
Salut,
pinouf a écrit :
ben le probleme est que le serveur est à un client = ) donc...

Il faudrait peut-être lui en parler, non ? Surtout si ça risque de faire apparaître des failles de sécurité Smiley ohwell
pinouf a écrit :

parce cce que il fait une recherche dans une base de donnée ...
et non sur les fichiers du serveur j'ai l'impression...



Oui c'est exactement ça et tu dois remplire la base à la main comme indiqué sur ton lien:
a écrit :
2) Insére les enregistrements dans la table de la façon suivante (tout en minuscules) :
INSERT INTO recherche VALUES( 1, "titre de la page", "url complète", "description de la page", "mots clé" );

Quelques exemples :
INSERT INTO recherche VALUES( 1, "Mes fichiers MIDI", "http://www.toto.fr/midi.htm", "Là, c'est ma page avec plein de musiques à télécharger", "fichiers midi télécharger musiques" );
INSERT INTO recherche VALUES( 2, "Album photo", "http://www.toto.fr/photos.htm", "Si mes photos de vacance vous intéressent, c'est par ici", "photos vacances album" );
bon pr linstant le pojet est laissez de coté = ) pour voir si on peux modifié les serveurs...

j'ai une question qui n'a rien a voir avoir ce probleme...

j'ai fait une requete sql sur 2 tables
du genre select * from table1 tables2 where trlalalal ect ect

apres je fais un $row=mysql_fetch_array()

et je veux récupéré l'id qui est

$row['id'] or il s'avere que il ya id se trouve dans la table 1 et également dans la table 2.

comment je peux faire pour choisir celui que je veux?

jai testé $row['table1.id'];
cela ne marche pas...

merci = )
Salut pinouf Smiley cligne ,

Soit le champ id représente la même chose dans les 2 tables auquel cas tu spécifies un peu mieux ta requête (c'est d'ailleurs une bonne idée de ne jamais laisser * pour optimiser les temps de réponses...) :
$requete = 'Select table1.id, nom, ... from table1, table2 where table1.id = table2.id'


Soit le champ id ne représente pas la même chose dans les 2 tables auquel cas c'est une bonne idée de spécifier un peu mieux le nom de ce champ (surtout si tu fais une requête sur les 2 tables en même temps), par exemple :
table1 : tu remplaces 'id' par 'id_page'
table2 : tu remplaces 'id' par 'id_news'


Si pour une raison ou pour une autre tu ne peux pas modifier le nom de ces champs, tu peux t'en sortir en utilisant as :
$requete = 'Select table1.id as id1, table2.id as id2, nom, ... from table1, table2 where ...'
et tu récupères la valeur avec
echo 'id1 = '.$row['id1'].'  et id2 = '.$row['id2'];

A+ Smiley smile

*Edit: sans oublier que tu peux utiliser $row[0], $row[1], $row[2], etc...
Modifié par Heyoan (04 Aug 2007 - 00:53)