par
orenx22 » 24 sept. 2013, 16:20
Bonjour,
Savoure !!
PHP et HTML a mettre dans la même page.
<?php
// -- LIEN BASE DE DONNEES -----------------------------------------------------
$dsn = "mysql:dbname=mydb;host=127.0.0.1;port=3306" ;
$bdd = new PDO( $dsn, 'root', null );
// -- REQUETE SQL --------------------------------------------------------------
/*
Table SQL citation :
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`citation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`citation` (
`id` INT NOT NULL AUTO_INCREMENT ,
`auteur` VARCHAR(45) NULL ,
`valeur` TEXT NULL ,
`vote` INT NULL DEFAULT 0 ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB;
USE `mydb` ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
*/
$sql = "SELECT * FROM citation ORDER BY vote ASC" ;
$req = $bdd-> prepare( $sql );
$req-> execute();
$result = $req-> fetchAll( PDO::FETCH_OBJ );
// -- CODE HTML ----------------------------------------------------------------
$step = 8 ;
$i = 0 ;
$j = 0 ;
$k = 0 ;
$btn = ceil( count( $result ) / $step ) ;
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Citations</title>
</head>
<body>
<script>
function voir( Id )
{
document.getElementById( 'frame-0' ).style.display = "" ;
for( i = 0 ; i < <?php echo $btn ?> ; i++ )
{
document.getElementById( "frame-" + i ).style.display = "none" ;
}
document.getElementById( "frame-" + Id ).style.display = "" ;
}
</script>
<div id="contenu">
<?php if( !empty( $result ) ): ?>
<ul>Page :
<?php for( $k == 0 ; $k < $btn ; ++$k ): ?>
<li style="display: inline;"><a href="javascript:voir('<?php echo $k ?>');"><?php echo $k ?></a></li>
<?php endfor ?>
</ul>
<div id="frame-<?php echo $i ?>">
<?php foreach( $result as $citation ): ?>
<div id="citation">
<div id="auteur"><?php echo $citation-> auteur ?></div>
<div id="valeur"><?php echo $citation-> valeur ?></div>
<div id="vote"><?php echo $citation-> vote ?></div>
</div>
<?php ++$j ?>
<?php if( $j > $step ): ?>
</div>
<div id="frame-<?php ++$i ; echo $i ?>" style="display:none;">
<?php $j = 0 ; ?>
<?php endif ?>
<?php endforeach ?>
<?php else: ?>
<span>Aucune citation enregistrée</span>
<?php endif ?>
</div>
</div>
</body>
</html>
reste plus qu'à mettre en place un système de requête pour ajouter un vote à la citation. Par exemple récupérer une clé de la vairable $_GET pour récupérer l'id de la citation et d'ajouter +1 avec une requête sql genre :
UPDATE citation SET vote = vote + 1 WHERE id = ?
Ciao ++
Bonjour,
Savoure !!
PHP et HTML a mettre dans la même page.
[php]
<?php
// -- LIEN BASE DE DONNEES -----------------------------------------------------
$dsn = "mysql:dbname=mydb;host=127.0.0.1;port=3306" ;
$bdd = new PDO( $dsn, 'root', null );
// -- REQUETE SQL --------------------------------------------------------------
/*
Table SQL citation :
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;
-- -----------------------------------------------------
-- Table `mydb`.`citation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`citation` (
`id` INT NOT NULL AUTO_INCREMENT ,
`auteur` VARCHAR(45) NULL ,
`valeur` TEXT NULL ,
`vote` INT NULL DEFAULT 0 ,
PRIMARY KEY (`id`) )
ENGINE = InnoDB;
USE `mydb` ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
*/
$sql = "SELECT * FROM citation ORDER BY vote ASC" ;
$req = $bdd-> prepare( $sql );
$req-> execute();
$result = $req-> fetchAll( PDO::FETCH_OBJ );
// -- CODE HTML ----------------------------------------------------------------
$step = 8 ;
$i = 0 ;
$j = 0 ;
$k = 0 ;
$btn = ceil( count( $result ) / $step ) ;
?>
[/php]
[html]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Citations</title>
</head>
<body>
<script>
function voir( Id )
{
document.getElementById( 'frame-0' ).style.display = "" ;
for( i = 0 ; i < <?php echo $btn ?> ; i++ )
{
document.getElementById( "frame-" + i ).style.display = "none" ;
}
document.getElementById( "frame-" + Id ).style.display = "" ;
}
</script>
<div id="contenu">
<?php if( !empty( $result ) ): ?>
<ul>Page :
<?php for( $k == 0 ; $k < $btn ; ++$k ): ?>
<li style="display: inline;"><a href="javascript:voir('<?php echo $k ?>');"><?php echo $k ?></a></li>
<?php endfor ?>
</ul>
<div id="frame-<?php echo $i ?>">
<?php foreach( $result as $citation ): ?>
<div id="citation">
<div id="auteur"><?php echo $citation-> auteur ?></div>
<div id="valeur"><?php echo $citation-> valeur ?></div>
<div id="vote"><?php echo $citation-> vote ?></div>
</div>
<?php ++$j ?>
<?php if( $j > $step ): ?>
</div>
<div id="frame-<?php ++$i ; echo $i ?>" style="display:none;">
<?php $j = 0 ; ?>
<?php endif ?>
<?php endforeach ?>
<?php else: ?>
<span>Aucune citation enregistrée</span>
<?php endif ?>
</div>
</div>
</body>
</html>
[/html]
reste plus qu'à mettre en place un système de requête pour ajouter un vote à la citation. Par exemple récupérer une clé de la vairable $_GET pour récupérer l'id de la citation et d'ajouter +1 avec une requête sql genre :
[sql]UPDATE citation SET vote = vote + 1 WHERE id = ?[/sql]
Ciao ++