2017-03-21 5 views
1

ist es mir möglich, eine automatische Inkrementnummer in einem sequentiellen Text zu machen, der beispielsweise in PHP und HTML angezeigt werden kann;Auto-Inkrement-Nummer in einem sequentiellen Text

SKP/SH/1(AUTO_INCREMENT)/2017 
SKP/SH/2/2017 

Nur die Zahl zu erhöhen, und die SKP/SH/""/2017 fixiert ist.

Vielen Dank im Voraus, schätzen Sie Ihre Hilfe!

Randbemerkung: I bereits Primärschlüssel und Autoinkrement in mysql (getrennt durch 2-Säule für ID und CODE)

HTML gesetzt:

<form name=b onsubmit="return check()" action="form.php" method="post"> 
Nama Program: <br /> 
<textarea required name="program" cols="50" rows="10"></textarea><br /> 
<p></p> 
Tarikh Program Mula: <br /> 
<input required name="tarikhmula" type="text" class="datepicker"> 
<p></p> 
Tarikh Program Tamat: <br /> 
<input required name="tarikhtamat" type="text" class="datepicker"> 
<p></p> 
Sebut Harga Bilangan: <br /> 
<p></p> 
Kod Sebut Harga: <br /> 
<input required name="kodsebutharga" type="text" value="SKP/SH/2017" /> 
<p></p> 
Tarikh Iklan Dibuka: <br /> 
<input required name="iklanmula" type="text" class="datepicker"> 
<p></p> 
Tarikh Iklan Ditutup: <br /> 
<input required name="iklantamat" type="text" class="datepicker"> 
<p></p> 
Nama Pegawai Penyelaras: <br /> 
<input required name="namapegawai" type="text" /> 
<p></p> 
Anggaran Harga Jabatan: <br /> 
<input required name="anggaranharga" type="text" id="number" pattern="[0-9]*"> 
<p></p> 
<input name="" type="submit" /><input name="" type="reset" value="Clear" /> 
</form> 
</body> 
</html> 

PHP:

<?php 

require("config.php"); 
$link =mysqli_connect($h,$u,$p,$db); 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

error_reporting(E_ALL^E_DEPRECATED); 


$query = "insert into atas50 (program, tarikhmula, tarikhtamat, namapegawai, anggaranharga, iklanmula, iklantamat) values ('$_POST[program]','$_POST[tarikhmula]','$_POST[tarikhtamat]','$_POST[namapegawai]','$_POST[anggaranharga]','$_POST[iklanmula]','$_POST[iklantamat]')"; 


if (mysqli_query($link, $query)) { 
    //echo "New record created successfully"; 
    $message = "New record created successfully"; 
    echo "<script type='text/javascript'>alert('$message');</script>"; 
    header("refresh:0; url=view.php"); 
} else { 
    echo "Error: " . $query . "<br>" . mysqli_error($link); 
} 

mysqli_close($link); 
?> 
+0

Kurze Antwort: ja. Wenn Sie eine Nummer mit sequenziellem/automatischem Inkrement in SQL haben, zeigen Sie diese Nummer einfach an. Wenn das nicht funktioniert (wenn z. B. gelöschte Datensätze vorhanden sind und Sie eine konsistente Nummerierung benötigen), führen Sie das Ergebnis einfach aus der Datenbank aus und aktualisieren Sie einen Zähler. – junkfoodjunkie

+0

es tut mir leid, ich bin ziemlich neu in diesem Bereich, können Sie mir zeigen? Übrigens habe ich die ID und den Code in 2 verschiedenen Spalten getrennt, da es so aussieht, als könnte ich den ganzen Code nicht automatisch inkrementieren. Danke noch einmal! –

Antwort

0

So etwas sollte funktionieren (Pseudocode):

$counter = 1; 
while ($row = fetch_from_database()) { 
echo 'SKP/SH'+$counter+'/2017'; 
$counter++; 
} 

Beachten Sie, dass dies völlig Pseudo-Code ist, und Sie müssen es implementieren, wie Sie benötigen.

+0

hey es tut mir leid dich zu stören, aber kannst du mir zeigen wie und wo kann ich das machen damit es in meiner form.html angezeigt werden kann? –

+0

Nein, weil Sie keinen Code zur Verfügung gestellt haben, den ich als Ausgangspunkt verwenden kann. Aktualisieren Sie Ihre Frage mit dem Code, dann vielleicht. Aber wenn das eine entmutigende Aufgabe ist, dann sollten Sie wirklich ein wenig mehr nachlesen, vielleicht ein paar Tutorials machen, vielleicht CodeCanyon oder etwas anderes. Im Prinzip holen Sie Sachen aus der Datenbank, und Sie sollten ein 'for()' oder 'while()' haben, das die Ergebnisse durchläuft, die Sie von der Datenbank erhalten. Dort fügen Sie die '$ counter'-Variable ein. – junkfoodjunkie

+0

ok warte, argh man mein SV hat wirklich eine Nummer auf mich. Ich bin nur ein Praktikant und er hat mich gebeten, das Unmögliche zu tun, warten, dass ich meinen Beitrag bearbeiten werde. –

Verwandte Themen