script ziua de nastere

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

script ziua de nastere

am facut asa

Cod: Selectaţi tot

<?php
$id = $_SESSION['SESS_ID']; 
$data_nasterii = date('j-m'); 
if (mysql_num_rows($rezultat) == 0) { 
$sql="SELECT `id`, `nume`, `prenume` FROM `members` WHERE `data_nasterii` REGEXP '^$data_nasterii' AND `id`='$id' LIMIT 1";
$rezultat = mysql_query($sql);
echo '<b><font color="blue"> La multi ani! </font></b><br>';
echo '<font color="red">Astazi este ziua ta de nastere!</font><br>';
while ($rand = mysql_fetch_assoc($rezultat)) {
    echo '<b> '.$rand['nume'].' '.$rand['prenume'].'</b>';
} 
}
else {
$sql="SELECT `id`, `nume`, `prenume` FROM `members` WHERE `id`='$id' LIMIT 1";
$rezultat = mysql_query($sql);
while ($rand = mysql_fetch_assoc($rezultat)) {
echo '<b> '.$rand['nume'].' '.$rand['prenume'].'</b>';
  }
} 
?>  
dar tot erori de Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\h.... imi da si dupa cand este ziua de nastere imi afiseaza numele dar dupaia imi afiseaza doar "la multi ani..." fara nume. 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

MarPlo Mesaje:4343
Incearca asa :

Cod: Selectaţi tot

<?php
$id = $_SESSION['SESS_ID'];
$data_nasterii = date('j-m');
$sql="SELECT `id`, `nume`, `prenume` FROM `members` WHERE `data_nasterii` REGEXP '^$data_nasterii' AND `id`='$id' LIMIT 1";
$rezultat = mysql_query($sql);

if (mysql_num_rows($rezultat) == 0) {
  $sql2="SELECT `id`, `nume`, `prenume` FROM `members` WHERE `id`='$id' LIMIT 1";
  $rezultat2 = mysql_query($sql2);
  while ($rand = mysql_fetch_assoc($rezultat2)) {
    echo '<b>Bine ai venit '.$rand['nume'].' '.$rand['prenume'].'</b>';
  }
}
else {
  echo '<b><font color="blue"> La multi ani! </font></b><br>';
  echo '<font color="red">Astazi este ziua ta de nastere!</font><br>';
  while ($rand = mysql_fetch_assoc($rezultat)) {
	echo '<b> '.$rand['nume'].' '.$rand['prenume'].'</b>';
  }
}
?>

trif Mesaje:500
multumesc mult de tot. merge foarte bine. 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

trif Mesaje:500
mai am o intrebare, am codul

Cod: Selectaţi tot

<?php
require_once('conectare.php'); 
$data_nasterii = date('m');  
$sql = "SELECT * FROM `members` WHERE `data_nasterii` REGEXP '[0-9 -]$data_nasterii'";
$rezultat = mysql_query($sql);
if (mysql_num_rows($rezultat) == 0) {
    echo '<font color="red">Luna acesta nu este ziua de naştere a nimănui!</font>';
}
else {
echo '<font color="red">Sarbatoritii lunii sunt:</font><br>';
$i=0;
while ($rand = mysql_fetch_array($rezultat))  {
    echo ' '.$rand['nume'].' '.$rand['prenume'].'<br>';
	++$i;
  }
}
?>
si imi arata sarbatoritii lunii "trif alexandru, pusca vasile,..." dar eu vreau sa apara si ziua in care sunt nascuti ca de exemplu "trif alexandru (28), pusca vasile (15),...". ce variabila sa pun ca sa imi scoata numai numarul ca stiu ca la echo ' '.$rand['nume'].' '.$rand['prenume'].'<br>'; trebuie sa il pun dar nu stiu cum sa il scriu. cred ca intelegi. 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

MarPlo Mesaje:4343
Ideea e urmatoarea:
1. Preiei si data nasterii adaugata in BD
2. Ii faci explode() cu liniuta '-'. Aceasta transforma ce ai preluat intr-un Array
3. Primul element din acel Array e ziua

Ex.:

Cod: Selectaţi tot

<?php
$data = '15-10-1996';
$arr_data = explode('-', $data);
$data_zi = $arr_data[0];
echo $data_zi;     // 15
?>

trif Mesaje:500
am facut asa

Cod: Selectaţi tot

<?php
require_once('conectare.php'); 
$data_nasterii = date('m'); 
$data = date('j-m-Y');
$arr_data = explode('-', $data);
$data_zi = $arr_data[0]; 
$sql = "SELECT * FROM `members` WHERE `data_nasterii` REGEXP '[0-9 -]$data_nasterii'";
$rezultat = mysql_query($sql);
if (mysql_num_rows($rezultat) == 0) {
    echo '<font color="red">Luna acesta nu este ziua de naştere a nimănui!</font>';
}
else {
echo '<font color="red">Sarbatoritii lunii sunt:</font><br>';
$i=0;
while ($rand = mysql_fetch_array($rezultat))  {
    echo ' '.$rand['nume'].' '.$rand['prenume'].' (' , $data_zi, ')', ' <br>';
	++$i;
  }
}
?>
dar imi arata doar ziua in care suntem din cauza k am pus j ca nu am stiut alt cum fel. imi da trif alex (19) 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

MarPlo Mesaje:4343
Atunci nu ai inteles ce am spus in postul precedent, unde e si exemplu.
Repet:
- Preiei si data nasterii adaugata in BD ($rand['coloana_data'])
- La aceasta se aplica functia "explode()"
si ce mai trebuie.

trif Mesaje:500
mersi mult, acum am inteles. raspunsul este
Sarbatoritii lunii sunt:
Trif Alexandru (18)
Pif Alexandru (15)
Purtator Andrei (01)

si codul este

Cod: Selectaţi tot

$data = ''.$rand['data_nasterii'].')';
    $arr_data = explode('-',$data);
    $data_zi = $arr_data[0]; 
	echo $data_zi;
	echo ')', ' <br>';
- Scriptul final e la pagina: script-ziua-nastere-php-mysql-t2405.htm

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