begin process at 2010 03 22 06:58:42
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > RUBIX CUBE

RUBIX CUBE


 Information sur la source

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :rubix, cube, casse tete, cubique, class Niveau :Initié Date de création :21/01/2009 Vu / téléchargé :2 941 / 149

Auteur : coucou747

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
un "simulateur" de rubix cube "cubique" n*n

le code est objet, simple, clair.

l'interface et le code html sont plutot mauvais, mais pour un si petit projet, j'allais pas prendre 2h a coder un truc clean.

Source

  • <?php
  • session_start();
  • ?>
  • <html>
  • <head>
  • <title>rubix</title>
  • <style>
  • body{
  • background-color: gray;
  • }
  • td.case{
  • width:40px;
  • height:40px;
  • }
  • .cube{
  • float:left;
  • }
  • .actions{
  • float:left;
  • }
  • </style>
  • </head>
  • <body>
  • <?php
  • class InvalidParam extends Exception{}
  • class TypeException extends InvalidParam{}
  • function integer($i){
  • if (!is_integer($i)) throw new Exception('param is not an integer');
  • }
  • function in_range($i, $a, $b){
  • if ($i < $a || $i > $b) throw new Exception('param is not an integer');
  • }
  • class Color{
  • public static function getColor($n = -1){
  • switch ($n){
  • case 0: return 'white';
  • case 1: return 'green';
  • case 2: return 'yellow';
  • case 3: return 'blue';
  • case 4: return 'orange';
  • case 5: return 'red';
  • default: return 'gray';
  • }
  • }
  • }
  • class Face{
  • private $colors;
  • private $nbr;
  • private $c;
  • public function __construct($c, $nbr){
  • $this->c = $c;
  • $this->nbr = $nbr;
  • $this->colors = array();
  • for ($i = 0; $i < $nbr; $i++){
  • $this->colors[$i] = array();
  • for ($j = 0; $j < $nbr; $j++){
  • $this->colors[$i][$j] = $c; // * 100 + $i * 10 + $j;
  • }
  • }
  • }
  • public function __toString(){
  • $out = '<table>';
  • foreach ($this->colors as $t){
  • $out .= '<tr>';
  • foreach ($t as $y){
  • $out .= '<td class="case" style="background-color:'.
  • // Color::getColor(intval($y / 100 )).'">'.($y % 100).'</td>';
  • Color::getColor($y).'"></td>';
  • }
  • $out .= '</tr>';
  • }
  • return $out . '</table>';
  • }
  • public function getLine($l){
  • return $this->colors[$l];
  • }
  • public function setLine($l, $f){
  • $this->colors[$l] = $f;
  • }
  • public function getCol($l){
  • $a = array();
  • for ($i=0;$i<$this->nbr;$i++)
  • $a[$i]=$this->colors[$i][$l];
  • return $a;
  • }
  • public function setCol($l, $f){
  • for ($i=0;$i<$this->nbr;$i++)
  • $this->colors[$i][$l] = $f[$i];
  • }
  • public function rotate($n = false){
  • $c = array();
  • for ($i = 0; $i < $this->nbr; $i++){
  • $c[$i] = array();
  • for ($j = 0; $j < $this->nbr; $j++){
  • if ($n)
  • $c[$i][$j] = $this->colors[$this->nbr - $j - 1][$i];
  • else
  • $c[$i][$j] = $this->colors[$j][$this->nbr - $i - 1];
  • }
  • }
  • $this->colors = $c;
  • }
  • }
  • class Cube{
  • private $nbr, $faces;
  • public function __construct($nbr){
  • $this->nbr = $nbr;
  • $this->faces = array();
  • for ($i = 0; $i < 6; $i++){
  • $this->faces[$i] = new Face($i, $nbr);
  • }
  • }
  • private function getLine($f, $l){
  • return $this->faces[$f]->getLine($l);
  • }
  • private function setLine($f, $l, $t){
  • return $this->faces[$f]->setLine($l, $t);
  • }
  • private function getCol($f, $l){
  • return $this->faces[$f]->getCol($l);
  • }
  • private function setCol($f, $l, $t){
  • return $this->faces[$f]->setCol($l, $t);
  • }
  • private function getRLine($f, $l){
  • return array_reverse($this->faces[$f]->getLine($l));
  • }
  • private function setRLine($f, $l, $t){
  • return $this->faces[$f]->setLine($l, array_reverse($t));
  • }
  • private function getRCol($f, $l){
  • return array_reverse($this->faces[$f]->getCol($l));
  • }
  • private function setRCol($f, $l, $t){
  • return $this->faces[$f]->setCol($l, array_reverse($t));
  • }
  • public function rotateLine($f, $l){
  • integer($f); integer($l);
  • in_range($f, 0, 5); in_range($l, 0, $this->nbr);
  • if ($f == 4 || $f == 5){ $f = 1; } // meme rotation
  • else if ($f == 3){ $f = 1; $l = $this->nbr - 1 - $l; }
  • if ($f == 2){
  • $f = 0;
  • }
  • $cl = $this->nbr - $l - 1;
  • if ($f == 1){
  • $c0 = $this->getLine(1, $l);
  • $this->setLine(1, $l, $this->getLine(4, $l));
  • $this->setLine(4, $l, $this->getRLine(3, $cl));
  • $this->setRLine(3, $cl, $this->getLine(5, $l));
  • $this->setLine(5, $l, $c0);
  • if ($l == 0){ $this->faces[0]->rotate(); }
  • if ($l == $this->nbr - 1){ $this->faces[2]->rotate(true); }
  • }else if ($f == 0){
  • $c0 = $this->getRLine(0, $l);
  • $this->setRLine(0, $l, $this->getRCol(5, $cl));
  • $this->setRCol(5, $cl, $this->getLine(2, $cl));
  • $this->setLine(2, $cl, $this->getCol(4, $l));
  • $this->setCol(4, $l, $c0);
  • if ($l == 0){ $this->faces[3]->rotate(true); }
  • if ($l == $this->nbr - 1){ $this->faces[1]->rotate(); }
  • }
  • }
  • public function rotateColone($f, $l){
  • integer($f); integer($l);
  • in_range($f, 0, 5); in_range($l, 0, $this->nbr);
  • if ($f <= 3) $f = 1;
  • if ($f == 4){ $f = 5; $l = $this->nbr - $l - 1; }
  • $cl = $this->nbr - $l - 1;
  • if ($f == 1){
  • $c0 = $this->getCol(0, $l);
  • $this->setCol(0, $l, $this->getCol(1, $l));
  • $this->setCol(1, $l, $this->getCol(2, $l));
  • $this->setCol(2, $l, $this->getCol(3, $l));
  • $this->setCol(3, $l, $c0);
  • if ($l == 0){ $this->faces[4]->rotate(); }
  • if ($l == $this->nbr - 1){ $this->faces[5]->rotate(true); }
  • }else{
  • $this->rotateLine(0, $cl);
  • }
  • }
  • public function getN(){ return $this->nbr; }
  • public function __toString(){
  • return '<table class="cube">
  • <tr>
  • <td></td>
  • <td>'.$this->faces[0].'</td>
  • <td></td>
  • </tr>
  • <tr>
  • <td>'.$this->faces[4].'</td>
  • <td>'.$this->faces[1].'</td>
  • <td>'.$this->faces[5].'</td>
  • </tr>
  • <tr>
  • <td></td>
  • <td>'.$this->faces[2].'</td>
  • <td></td>
  • </tr>
  • <tr>
  • <td></td>
  • <td>'.$this->faces[3].'</td>
  • <td></td>
  • </tr>
  • </table>';
  • }
  • }
  • if (isset($_GET['restart'])) unset($_SESSION['cube']);
  • if (!isset($_SESSION['cube']))
  • $_SESSION['cube'] = new Cube(3);
  • $c = $_SESSION['cube'];
  • if (isset($_GET['rotate'], $_GET['f']) && is_numeric($_GET['f'])){
  • if (isset($_GET['l'])){
  • $c->rotateLine((int)$_GET['f'], (int)$_GET['l']);
  • }
  • if (isset($_GET['c'])){
  • $c->rotateColone((int)$_GET['f'], (int)$_GET['c']);
  • }
  • }
  • echo $c;
  • echo '<table class="actions">
  • ';
  • for ($i = 0; $i < 6; $i++){
  • echo '<tr>
  • <td class="case" style="background-color:'.Color::getColor($i).'"></td>';
  • for ($j = 0; $j < $c->getN(); $j++){
  • echo '<td><a href="rubix.php?rotate&f='.$i.'&l='.$j.'">
  • rotate line '.($j+1).'</a></td>';
  • echo '<td><a href="rubix.php?rotate&f='.$i.'&c='.$j.'">
  • rotate col '.($j+1).'</a></td>';
  • }
  • echo '</tr>';
  • }
  • echo '</table>';
  • ?>
  • <div style="clear:both"></div>
  • <hr />
  • <a href="rubix.php?restart">restart</a>
  • </body>
  • </html>
<?php

session_start();

?>
<html>
<head>
<title>rubix</title>
<style>
body{
background-color: gray;
}

td.case{
	width:40px;
	height:40px;
}

.cube{
	float:left;
}

.actions{
	float:left;
}
</style>
</head>
<body>

<?php

class InvalidParam extends Exception{}
class TypeException extends InvalidParam{}

function integer($i){
	if (!is_integer($i)) throw new Exception('param is not an integer');
}
function in_range($i, $a, $b){
	if ($i < $a || $i > $b) throw new Exception('param is not an integer');
}

class Color{
	public static function getColor($n = -1){
		switch ($n){
			case 0: return 'white';
			case 1: return 'green';
			case 2: return 'yellow';
			case 3: return 'blue';
			case 4: return 'orange';
			case 5: return 'red';
			default: return 'gray';
		}
	}
}

class Face{
	private $colors;
	private $nbr;
	private $c;
	public function __construct($c, $nbr){
		$this->c = $c;
		$this->nbr = $nbr;
		$this->colors = array();
		for ($i = 0; $i < $nbr; $i++){
			$this->colors[$i] = array();
			for ($j = 0; $j < $nbr; $j++){
				$this->colors[$i][$j] = $c; // * 100 + $i * 10 + $j;
			}
		}
	}

	public function __toString(){
		$out = '<table>';
		foreach ($this->colors as $t){
			$out .= '<tr>';
			foreach ($t as $y){
				$out .= '<td class="case" style="background-color:'.
				// Color::getColor(intval($y / 100 )).'">'.($y % 100).'</td>';
				Color::getColor($y).'"></td>';
			}
			$out .= '</tr>';
		}
		return $out . '</table>';
	}
	public function getLine($l){
		return $this->colors[$l];
	}

	public function setLine($l, $f){
		$this->colors[$l] = $f;
	}

	public function getCol($l){
		$a = array();
		for ($i=0;$i<$this->nbr;$i++)
			$a[$i]=$this->colors[$i][$l];
		return $a;
	}

	public function setCol($l, $f){
		for ($i=0;$i<$this->nbr;$i++)
			$this->colors[$i][$l] = $f[$i];
	}

	public function rotate($n = false){
		$c = array();
		for ($i = 0; $i < $this->nbr; $i++){
			$c[$i] = array();
			for ($j = 0; $j < $this->nbr; $j++){
				if ($n)
					$c[$i][$j] = $this->colors[$this->nbr - $j - 1][$i];
				else
					$c[$i][$j] = $this->colors[$j][$this->nbr - $i - 1];
			}
		}
		$this->colors = $c;
	}
}

class Cube{
	private $nbr, $faces;
	public function __construct($nbr){
		$this->nbr = $nbr;
		$this->faces = array();
		for ($i = 0; $i < 6; $i++){
			$this->faces[$i] = new Face($i, $nbr);
		}
	}
	private function getLine($f, $l){
		return $this->faces[$f]->getLine($l);
	}
	private function setLine($f, $l, $t){
		return $this->faces[$f]->setLine($l, $t);
	}
	private function getCol($f, $l){
		return $this->faces[$f]->getCol($l);
	}
	private function setCol($f, $l, $t){
		return $this->faces[$f]->setCol($l, $t);
	}

	private function getRLine($f, $l){
		return array_reverse($this->faces[$f]->getLine($l));
	}
	private function setRLine($f, $l, $t){
		return $this->faces[$f]->setLine($l, array_reverse($t));
	}
	private function getRCol($f, $l){
		return array_reverse($this->faces[$f]->getCol($l));
	}
	private function setRCol($f, $l, $t){
		return $this->faces[$f]->setCol($l, array_reverse($t));
	}
	public function rotateLine($f, $l){
		integer($f); integer($l);
		in_range($f, 0, 5); in_range($l, 0, $this->nbr);

		if ($f == 4 || $f == 5){ $f = 1; } // meme rotation
		else if ($f == 3){ $f = 1; $l = $this->nbr - 1 - $l; }

		if ($f == 2){
			$f = 0;
		}

		$cl = $this->nbr - $l - 1;
		if ($f == 1){
			$c0 = $this->getLine(1, $l);
			$this->setLine(1, $l, $this->getLine(4, $l));
			$this->setLine(4, $l, $this->getRLine(3, $cl));
			$this->setRLine(3, $cl, $this->getLine(5, $l));
			$this->setLine(5, $l, $c0);

			if ($l == 0){ $this->faces[0]->rotate(); }
			if ($l == $this->nbr - 1){ $this->faces[2]->rotate(true); }
		}else if ($f == 0){
			$c0 = $this->getRLine(0, $l);
			$this->setRLine(0, $l, $this->getRCol(5, $cl));
			$this->setRCol(5, $cl, $this->getLine(2, $cl));
			$this->setLine(2, $cl, $this->getCol(4, $l));
			$this->setCol(4, $l, $c0);

			if ($l == 0){ $this->faces[3]->rotate(true); }
			if ($l == $this->nbr - 1){ $this->faces[1]->rotate(); }
		}
	}
	public function rotateColone($f, $l){
		integer($f); integer($l);
		in_range($f, 0, 5); in_range($l, 0, $this->nbr);

		if ($f <= 3) $f = 1;

		if ($f == 4){ $f = 5; $l = $this->nbr - $l - 1; }

		$cl = $this->nbr - $l - 1;
		if ($f == 1){

			$c0 = $this->getCol(0, $l);
			$this->setCol(0, $l, $this->getCol(1, $l));
			$this->setCol(1, $l, $this->getCol(2, $l));
			$this->setCol(2, $l, $this->getCol(3, $l));
			$this->setCol(3, $l, $c0);

			if ($l == 0){ $this->faces[4]->rotate(); }
			if ($l == $this->nbr - 1){ $this->faces[5]->rotate(true); }
		}else{
			$this->rotateLine(0, $cl);
		}
		
	}
	public function getN(){ return $this->nbr; }
	public function __toString(){
		return '<table class="cube">
			<tr>
				<td></td>
				<td>'.$this->faces[0].'</td>
				<td></td>
			</tr>
			<tr>
				<td>'.$this->faces[4].'</td>
				<td>'.$this->faces[1].'</td>
				<td>'.$this->faces[5].'</td>
			</tr>
			<tr>
				<td></td>
				<td>'.$this->faces[2].'</td>
				<td></td>
			</tr>
			<tr>
				<td></td>
				<td>'.$this->faces[3].'</td>
				<td></td>
			</tr>
		</table>';
	}
}

if (isset($_GET['restart'])) unset($_SESSION['cube']);

if (!isset($_SESSION['cube']))
	$_SESSION['cube'] = new Cube(3);

$c = $_SESSION['cube'];

if (isset($_GET['rotate'], $_GET['f']) && is_numeric($_GET['f'])){
	if (isset($_GET['l'])){
		$c->rotateLine((int)$_GET['f'], (int)$_GET['l']);
	}
	if (isset($_GET['c'])){
		$c->rotateColone((int)$_GET['f'], (int)$_GET['c']);
	}
}


echo $c;

echo '<table class="actions">
';
for ($i = 0; $i < 6; $i++){
	echo '<tr>
		<td class="case" style="background-color:'.Color::getColor($i).'"></td>';
	for ($j = 0; $j < $c->getN(); $j++){
		echo '<td><a href="rubix.php?rotate&f='.$i.'&l='.$j.'">
			rotate line '.($j+1).'</a></td>';
		echo '<td><a href="rubix.php?rotate&f='.$i.'&c='.$j.'">
			rotate col '.($j+1).'</a></td>';
	}
	echo '</tr>';
}
echo '</table>';

?>
<div style="clear:both"></div>
<hr />
<a href="rubix.php?restart">restart</a>
</body>
</html>

 Conclusion

l'interface n'est pas terrible, mais ca reste valable

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec une capture IMAGES GENETIQUES
Source avec Zip INTERPRETEUR BRAINFUCK
Source avec Zip PROXY HTTP : SAUVEZ VOS VIDEOS PREFEREES.
Source avec une capture ECRIRE UN TEXTE EN CERCLE SUR UNE IMAGE
Source avec Zip Source avec une capture FILTRER, METTRE EN CACHE OU MAPER, OU TRIER UN ITERATEUR

 Sources de la même categorie

Source avec Zip [POO] JEU KEMO par phpAnonyme
Source avec Zip Source avec une capture BLOC NUKED KLAN WARROCK par warrock
Source avec Zip LABYRINTHES EN PHP (GD + HTML) GÉNÉRATION + RÉSOLUTION par nax333
Source avec Zip Source avec une capture UNE PARTIE DE SUDOKU ? CHOISSISSEZ LA DIMENSION, LE NIVEAU... par nlion
Source avec Zip RÉCUPERER LES INFOS D'UN SERVEUR DE JEUX (BEAUCOUP DE JEUX S... par yoman64

 Sources en rapport avec celle ci

Source avec Zip POO - LOGGING PACKAGE par Waredan
POO - OBJECT CLASS par Waredan
Source avec Zip POO - FACTORY CLASS par Waredan
POO - SINGLETON CLASS par Waredan
POO - PARAMETERHOLDER CLASS par Waredan

Commentaires et avis

Commentaire de pysco68 le 21/01/2009 17:14:29 10/10

clair net et précis ^^ enfin comme on l'aime bien le code

défi d'extension: coder l'algo pour le résoudre ^^ ce serait un beau concours sur le forum ^^ enfin laissons ça de coté ;)

nb: t'aurais au moins pu implémenter un petit test histoire de dire: "C'est bien t'a réussi" ^^

Bref, les débutants déplorerons le manque de commentaires peut-être...
Bonne soirée

Commentaire de coucou747 le 21/01/2009 17:41:17

merci

il existe des algos qui permettent de le resoudre, mais je ne connais aucun algo correct qui cherche la solution la plus rapide.

j'avais commence ca en cours avec le rubix d'un copain, et j'ai fini chez moi.

Commentaire de petifa le 22/01/2009 12:14:28 8/10

c pas en 3 :p
en tout cas avoir un rubix cub dans la main c mieux je trouve :)
sympa quand meme

Commentaire de coucou747 le 22/01/2009 13:48:05

en 3 ?

pour parametrer la taille du cube, il faut changer le parametre passe au constructeur sur la ligne 240 :

$_SESSION['cube'] = new Cube(3);

pour un 2*2 * 6faces:
$_SESSION['cube'] = new Cube(2);

Commentaire de petifa le 22/01/2009 22:49:31

oui en 3, enfin en 3D,
j'ai meme pas fait attentiont qu'il manquait le D

Commentaire de coucou747 le 23/01/2009 01:19:52

:D ca aurait fait un truc BEAUCOUP plus dur a coder, et n'aurait pas apporte beaucoup d'interret

Commentaire de masternico le 26/01/2009 16:09:48

Perso celui en vrais je le fait en 5 minutes... celui là... ben... il est déjà résolu...

j'ai modifié le code de la fonction __construct pour intégrer la possibilité de brouillage à chaque démarrage:

public function __construct($nbr){
$this->nbr = $nbr;
$this->faces = array();
for ($i = 0; $i < 6; $i++){
$this->faces[$i] = new Face($i, $nbr);
}
$nb_mouvement_brouillage = rand(50,200);
                for ($i = 0;$i < $nb_mouvement_brouillage;$i++)
                {
                 $f = rand(0,5);
                        $l = rand(0,2);
                        $colone_ligne = rand(0,1);
                        if($colone_ligne == 0)
                         $this->rotateLine($f, $l);
                        else
                         $this->rotateColone($f, $l);

                }
}


Comme ça, ça a plus de charme   ;D

Commentaire de coucou747 le 26/01/2009 23:36:14

merci :)

perso, j'ai du mal a le faire quand j'en ai un vrai dans les mains.

Commentaire de masternico le 27/01/2009 10:06:36

En fait, il s'agit juste de mémoriser une 15aines de formules.
J'ai un bouquin qui explique en détail ce qu'il faut faire suivant comment sont placés les coins jaunes et blanc.
Il existe même des formules pour le faire en 35 secondes, mais là, c'est une quarantaine de formules qu'il faut mémoriser.
Si ça t'intéresse, je pourrais t'en faire un PDF. Comme ça tu pourras le joindre à ton script.

Je me rapelle qu'au lycée, je gagnais pas mal de paris avec ça... lol...

Il suffisait juste que je fasse semblant de me dépecher alors que je prenais mon temps et j'annoncais que j'allais essayer de le faire en 8 minutes... trop facile...

C'était pas joli joli, mais qu'est-ce que j'ai pu rigoler avec ça...

Commentaire de coucou747 le 27/01/2009 13:12:11

ah :)

j'arrive facilement a faire la premiere courone, apres, j'ai du mal a placer et orienter le reste en concervant la premiere colone.

Commentaire de masternico le 27/01/2009 15:38:09

je te prépare ça dans la semaine et je te l'enverais...
tu va voir, même ma fille de 10 ans y arrive...

En fait, l'algo est le suivant:
placer les 4 coins blancs dans le bon ordre sans se préocuper du reste. Du coup, les 4 coins jaunes sont à la bonne place mais pas dans le bon ordre ni bien orientés.
A l'aide de la première formule, tu fait pivoter un à un les coins jaunes sur eux même sans que celà ne change les autres. Quand tous les coins jaunes sont bien orienté, il faut les mettre dans le bon ordre. 2ème formule.

Ensuite, tu combles 3 trous sur la couronne jaune et tu en garde un (en temp que swap) pour combler toute la couronne blanche. Grace à une 3ème formule tu place le dernier jaune.

Pour ce qui est de la ceinture, il y a 2 formules mémoriser et... TADAAAAAAAA... le cube est complèté...

Commentaire de coucou747 le 27/01/2009 15:56:52

merci

Commentaire de masternico le 13/03/2009 12:58:43

Salut coucou747, je suis désolé, je n'ai toujours pas eu le temps de m'occuper de ce que je t'ai promis.
Par contre, je viens de croiser un de tes commentaires sur ce site qui m'a conduit à ton site... qui m'a conduit à ton CV (plutôt pas mal d'ailleur)... qui m'a conduit à ton adresse...
Le monde est petit car j'habite à 15 bornes de chez toi...
Bon mis à part ceci, sache que je ne t'oublie pas et que je vais te faire le pdf comme promis.

Commentaire de coucou747 le 13/03/2009 13:31:01

ah :) merci ;)

bah... j'ai fait vennir tychobrahe ici, (c'est un mec qui ressemble au rodolphe de la pub de chez free, c'est un geek, on etait a la fac ensemble et il est a epitech maintenant), lui il habite en plein centre de nantes (un endroit hostile aux voitures :( )

bref, j'ai ete pas mal charge ces derniers temps, et donc je n'ai pas eu le temps de bosser sur ca (apprendre a les terminer, coder un algo de resolution, et recoder ca en Cpp)

de plus, je m'y interesse souvent quand je m'ennuie en cours (je demande a mon binome de TP de m'en preter un :D) et comme la fac est bloquee depuis un mois et demie, j'ai pas pu jouer au rubix :(

bref, je le lirais quand il sera pret, mais ne te presse pas pour moi :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

class,PDF,XLS et boucles..... [ par booth ] bonjour!j'ai un méga problème...je dois générer un PDF et une grillle excel toutes deux issues d'un moteur de recherche...pour le moteur de recherche Retouches sur un scripts [ par apz ] salut,ce script php, un guestbook, est le livre d'or que je cherchais.mais voila il se base sur les Class, que je ne connais pas desormais.alors je vo fatal error sur chargement de class [ par fabrice_pi ] salut à tous,j'utilise une classe PHP pour faire mes taleaux en html. depuis peu j'ai l'erreur suivante :Fatal error: Cannot instantiate non-existent Class POO retourné le nom de l'objet [ par MeTh ] Bonjour,Comment retourné le nom de l'objet déclaré?exemple :$monobjet = new GridR();comment recuperé $monobjet dans ma class?Merci Include, class et array [ par Hades5k ] Bonjour! J'ai un petit problème à utiliser un array dans un fichier que j'inclus... voici un peu le code : &lt;?php $classNames = array(); include_onc Problem d'affichage de resultat de requete sous forme de tableau [ par jbcaiz ] explication : je fais un requete de recherche dans ma base, qui doit normalement me sortir plusieur résultat.je veux que ces résultat s'affiche dans u Serveur SMTP [ par Marion0904 ] Bonsoir, J'essai d'nvoyer des mails en utilisant la class phpmailer (disponible sur&nbsp; http://phpmailer.sourceforge.net/). J'incu la class php mail templates avec poo [ par lesnes ] bonjours je reprogramme totalement mon site en poo et je souhaiterai utiliser les templates mais l'on ne peut pas faire appel a une class exterieur a Affichage page par page [ par Leneuf8000 ] Bonjour, j'aimerai r&#233;aliser un affichage page par page. En fait je voudrai que tout soit g&#233;rer dans le m&#234;me fichier.&nbsp; Ainsi pour l Erreur de syntaxe [ par Leneuf8000 ] Bonjour everybody, la, j'ai un probl&#232;me de syntaxe, je ne comprends pas !!! Voici la requ&#234;te qui pose probl&#232;me : &nbsp;&nbsp;&nbsp; &n


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales