как да създам години при регистриране на потребител

dunix

Registered
Направил съм си в базата данни таблица age.
Код:
CREATE TABLE age (
    age_id int(11) unsigned NOT NULL auto_increment,
     age_label varchar(30) NOT NULL,
     PRIMARY KEY (age_id)
     )
В нея съм сложил годините от 1970 до 1996.
Код:
INSERT INTO age (age_id, age_lebel) 
		VALUES (1, '1970'),
		(2, '1971'),
		(3, '1972'),
                .....
		(25, '1994'),
		(26, '1995'),
		(27, '1996')

До тук всичко е точно. Сега искам да задам в регистрационната ми форма да изкарва годините... и според мен трябва да бъде нещо от сорта

Код:
$query = "SELECT  age_id, age_lebel " .
"FROM age " .
"ORDER BY age_lebel";
$results  = mysql_query($query)
or die (mysql_error());

while ($row = mysql_fetch_array($results)) {
extract ($row);
echo "<form ><select><option>";
echo $age_lebel
echo "</option></select></form>";
}

Така ли трябва да е ?
 
ОМФГ, за какво ти е да ги записваш в MySQL ?
Просто връткаш един цикъл и готово
<select>
<?php
$year = date("Y");
for ($i = "1900";$i <= $year;$i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
 
Replace каза:
ОМФГ, за какво ти е да ги записваш в MySQL ?
Просто връткаш един цикъл и готово
<select>
<?php
$year = date("Y");
for ($i = "1900";$i <= $year;$i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>

Искам да определям годините - примерно да не се показват години под 1970 и над 1997, след година да се покаже 1998, след още една да се покаже и 1999 и т.н.

В началото съм на програмирането и не ми е много ясно как стават нещата :|

Ето това ми е регистрационната форма:

Код:
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?php
if (!isset($_POST['submit'])) {
echo '
<center>
<form action="" method="post">
<input name="register" type="hidden" value="1">
Потребител <input type="text" name="username"><br />
Парола <input type="password" name="password"><br />
Парола (отново) <input type="password" name="cpassword"><br />
E-Mail <input type="text" name="email"><br />
<br /><input type="submit" name="submit" value="Регистрирай ме">
</form></center>';
}
else {   
$username=$_POST[username];
$password=$_POST[password];
$cpassword=$_POST[cpassword];
$email=$_POST[email];
   
if (empty($password) || empty($cpassword) || empty($username) || empty($email) ) { echo "Не сте попълнили някое от задължителните полета"; }
else { 
include "connect.php";

if($password != $cpassword) {
	echo "Паролите не съвпадат";
		}else{
			$password = md5($password);
			$checkname = mysql_query("SELECT username FROM users WHERE username='$username'");
			$checkname= mysql_num_rows($checkname);
			$checkemail = mysql_query("SELECT email FROM users WHERE email='$email'");
			$checkemail = mysql_num_rows($checkemail);
		if(strlen($password)<=4){echo "паролата трябва да е по дълга от 4 символа!" ;exit();}

if ($checkemail>0|$checkname>0) {
	echo "Потребителското име или имейл е заето";
		}else{
			$username = htmlspecialchars($username);
			$password = htmlspecialchars($password);
			$email = htmlspecialchars($email);

mysql_query("INSERT INTO users (username, password, email) VALUES('$username','$password','$email')");

echo "<center>Регистрацията премина усешно <a href='index.php'>Влез</a></center>";
}
}
}
}
?>

Как да направя сега кодът който ми даде да е под имейл и след като се регистрира човек да се запише в базата данни годините му (ясно ми е, че трябва да създавам явно още една таблица в базата на user).
Също така ще сложа и "Град" и за там съм подходил по същия начин като за годините....
 
Както написа @Replace


Код:
<select>
<?php
$year = date("Y");
$year=$year-10;
for ($i = "1970";$i <= $year;$i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
 
heminei каза:
Както написа @Replace

Благодаря, но аз се справих вече :)
Направих го както исках с базата данни и после извеждам резултатите

Код:
<select name="year"><br />
<?php
    $query = mysql_query("SELECT * FROM year") or die(mysql_error());
    while ($a = mysql_fetch_assoc($query)) {
        print '<option value="'.$a[year_id].'">'.$a[year_lebel]."</option>\n";
    }
?>
        </select>
 

Back
Горе