Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 0001/04 -jaki typ pola w bazie danych zastosować?
szpula
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 24.05.2004

Ostrzeżenie: (0%)
-----


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) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Cytat
-jaki typ pola w bazie danych zastosować?

varchar
Go to the top of the page
+Quote Post
szpula
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 24.05.2004

Ostrzeżenie: (0%)
-----


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ą (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Dlaczego??
Go to the top of the page
+Quote Post
kszychu
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Pokaż jak to robisz.
Go to the top of the page
+Quote Post
Kinool
post
Post #5





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


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]
Go to the top of the page
+Quote Post
szpula
post
Post #6





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 24.05.2004

Ostrzeżenie: (0%)
-----


[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" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
Kinool
post
Post #7





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


no w forularzu ta akurat nie ma roznicy czy tam sa literki czy cyferki (IMG:http://forum.php.pl/style_emoticons/default/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]
Go to the top of the page
+Quote Post
szpula
post
Post #8





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 24.05.2004

Ostrzeżenie: (0%)
-----


no i teraz działa:) dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:05