Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 0001/04 -jaki typ pola w bazie danych zastosować?
Forum PHP.pl > Forum > Bazy danych > MySQL
szpula
Mam taki problem
Chcialbym żeby dane były wyświtlane w taki sposób:

Jest to nr ewidencyjny:

0001/04
0002/04
0003/04
....
....
0001/05 (jesli to bedzie juz 2005 rok)

-jaki typ pola w bazie danych zastosować?

Próbowałem wszystkiego i dzieliło mi pierwszą liczbę przez drugą.

Jak zastosować maskę żeby domyślnie był widoczny szablon wpisu (0000/00) questionmark.gif?
kszychu
Cytat
-jaki typ pola w bazie danych zastosować?

varchar
szpula
dzięki.

Ale jeszcze coś jest nie tak bo jak dodaję do bazy nowy nr ewidencyjny (insert) to dodaje się i wyświetla prawidłowo , ale jesli ...dokonuję edycji tych danych (update) to ciągle dzieli mi jedną liczbę przez drugą sad.gif
Dlaczego??
kszychu
Pokaż jak to robisz.
Kinool
ja bym uzywal char(7) a co do dzielenia to przed zapisem do bazy daj addslashes a po wyciagnieciu stripslashhes

typ staly (char) jest szybciej przetwarzany i latwiej przywrucic uszkodzone tabele a jesli twoje dane maja jednakowa dlugosc to stosuj char

no i wprowadzane dane jesli sa stringiem lub maja byc tak traktowane to zapusij je w pojedynczych cudzyslowiach '

[sql:1:92aeb8113f]INSERT INTO tabela (cos, cos2) VALUES(1,'0001/04')[/sql:1:92aeb8113f]
szpula
[php:1:21d3761f22]<?php
function edit_auta($auto_id)
{
$r = mysql_query("SELECT auto_ewid FROM auta WHERE auto_id = $auto_id") or die("error: auta.php -
edit_auta");
$a = mysql_fetch_array($r);

echo '<tr>';
echo '<td><input type="text" name="auto_ewid" maxlength="7" value=" '.$a["auto_ewid"].' "></td>';
echo'<tr>';

echo'<input type="submit" value="akceptuj">

}
?>[/php:1:21d3761f22]
?>[/php]

A może powinienem nazwać input typeinaczej niż "text" questionmark.gif?
Kinool
no w forularzu ta akurat nie ma roznicy czy tam sa literki czy cyferki smile.gif wiec problemem jest to jak wstawiasz do bazy albo obrabiasz przez php

php standardowo powinno rozpoznac to jako string i robiac echo $_POST['auto_ewid'] powinienes otrzymac 0001/04 czy ajkt tam wpiszesz

a do bazy zapisac

[php:1:24f516054c]<?
$pytanie="INSERT INTO tabela (nr_ewid) VALUES('".$_POST['auto_ewid']."')";
$wynik=mysql_query($pytanie);

// itp. itd
?>
[/php:1:24f516054c]
szpula
no i teraz działa:) dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.