Script afisare ziua de nastere, cu php si mysql

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje: 500

Script afisare ziua de nastere, cu php si mysql

am sa pun aici scriptul php+mysql al script-ului "zile de nastere".
aici este baza de date:

Cod: Selectaţi tot

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
CREATE TABLE IF NOT EXISTS `membri` (
  `id` int(11) NOT NULL auto_increment,
  `nume` varchar(100) default NULL,
  `prenume` varchar(100) default NULL,
  `data_nasterii` varchar(100) NOT NULL, /* zi-luna-an */
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
aici conectarea la bd:

Cod: Selectaţi tot

<?php
$server ='localhost';
$username='root';
$password='parola';
$database='baza_de_date';

$conn = new mysqli($server, $username,$password, $database);

// verifica conexiunea
if(mysqli_connect_errno()) exit('Connect failed: '. mysqli_connect_error());
aici este codul pentru sarbatoritii lunii:

Cod: Selectaţi tot

<?php
require_once('conectare.php'); //conectare la bd
$resp ='';
$data_nasterii = date('m'); 

$sql ="SELECT * FROM membri WHERE data_nasterii REGEXP '^[0-9]+-$data_nasterii'"; // selecteaza data dar numai a lunii
$resql = $conn->query($sql);
if($resql->num_rows() ==0) $resp .='<span style="color:red">Luna acesta nu este ziua de naştere a nimănui!</span>';
else {
  $resp .='<span style="color:red">Sarbatoritii lunii sunt:</span><br>';
  $i=0;
  while($row = $resql->fetch_assoc()){
    $i++;
    $arr_data = explode('-',$row['data_nasterii']);
    $data_zi = $arr_data[0]; 
    $resp .= $i.' '.$row['nume'].' '.$row['prenume'].' ('. $data_zi .'),<br>';
  }
}

echo $resp;

aici este codul pentru sarbatoritii zilei:

Cod: Selectaţi tot

<?php
require_once('conectare.php'); //conectare la bd
$resp =''; 
$data_nasterii = date('j-m');

$sql ="SELECT * FROM membri WHERE data_nasterii REGEXP '^$data_nasterii'";
$resql = $conn->query($sql);
if($resql->num_rows() ==0) $resp .='<span style="color:red">Astăzi nu este ziua de naştere a nimănui!</span>';
else {
  $resp .='<span style="color:red">Astazi este ziua lui:</span><br>';
  $i=0;
  while($row = $resql->fetch_assoc()){
    $i++;
    $resp .= $i. ' '.$row['nume'].' '.$row['prenume'] .'<br>';
  }
}

echo $resp;
script daca esti logat cu mesajul "bine ai revenit..." si cand este ziua lui de nastere "La multi ani! Astazi este ziua ta nastere..."

Cod: Selectaţi tot

<?php
session_start();
$id = $_SESSION['SESS_ID']; //session cu id utilizator

$resp ='';
$data_nasterii = date('j-m');
$sql="SELECT id, nume, prenume FROM membri WHERE data_nasterii REGEXP '^$data_nasterii' AND id=$id LIMIT 1";

$resql = $conn->query($sql);
if($resql->num_rows() ==0){
  $sql="SELECT id, nume, prenume FROM membri WHERE id=$id LIMIT 1";
  $resql = $conn->query($sql);
  if($resql->num_rows() ==1){
    while($row = $resql->fetch_assoc()){
      $resp .='<span style="color:blue;font-weiht:700;">Bine ai revenit <br>'.$row['nume'].' '.$row['prenume'].'</span>';
    }
  }
}
else {
  $resp .='<span style="color:blue;font-weiht:700;"> La multi ani! </span><br>';
  $resp .='<span style="color:red">Astazi este ziua ta de nastere!</span><br>';
  while($row = $resql->fetch_assoc()){
   $resp .='<b> '.$row['nume'].' '.$row['prenume'].'</b>';
  }
}

echo $resp;
. aceste mesaje se pot modifica dupa cum le doriti si daca aveti ceva nelamuriri postati aici pe acest forum. multumim pentru ajutor lui MarPlo ca ne-a fost de mare ajutor. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

jerk Mesaje: 2
Am incercat sa-l fac sa afiseze mai multe zile intr-o pagina dar nu am reusit ...
se pare ca nu functioneaza

Cod: Selectaţi tot

$data_nasterii = date('j-m')+1;
aveti idee cum as putea face ?
si inca o mica problema ar fi la sortatul datelor ... la cel care afiseaza pe o luna intreaga le afiseaza amestecat...

MarPlo Mesaje: 4343
Salut
Acel script e cam vechi, ar trebui sa folosesti mysqli sau pdo (mysql_connect() si functiile lui sunt "deprecated"); in plus, utilizatorul care l-a postat aici ( @trif ) probail ca nu mai viziteaza acest forum.

jerk Mesaje: 2
daca as sti ... as folosi ... :)
crezi ca ma poti ajuta ?

MarPlo Mesaje: 4343
Am rescris codul scriptului de la primul post, sa functioneze cu mysqli.

- Daca vrei sa inveti despre php, mysqli sau /si pdo, sa stii sa faci modificari in el, te pot ajuta tutorialele de pe site; vezi lectiile de la: Curs PHP-MySQL

Subiecte similare