|
|
Litronic

: 19.03.2004 : 90
|
| : 05.06.2005, 11:50 : zufallszahlen als mysql id |
|
|
hallo
für meine mysql einträge brauch ich statt normalen auto_increment zufallszahlen, ich muss zuerst zufallszahlen generieren und dann überprüfen ob die nicht schon vergeben ist, ich wollte das so lösen
| Code: |
while($dop_id_count == '0') //Überprüfen ob ID nicht schon vergeben worden ist
{
$takid = rand(1,200000);
$dop_get_count_query = mysql_query("SELECT COUNT(AktZaehler) FROM $tak_tab WHERE AktZaehler = $takid");
$dop_get_count = mysql_fetch_array($dop_get_count_query);
$dop_id_count = $dop_get_count[0];
echo "IDCheck: $dop_id_count <br>";
} |
ich erstelle nämlich eine zufallszahl und schau ob die schon vergeben ist wenn bei $dop_obj_count = 0 dann gibt es diese zahl noch nicht, aber leider funktioniert das nicht mit der while schleife so wie ich das will,
vielleicht kann mir ja jemand helfen bin auch offen für neue vorschläge wie ich es überprüfen soll |
|
| Nach oben |
|
 |
Outman


: 03.12.2004 : 396 : Saalfeld / Saale
|
| : 05.06.2005, 15:30 : zufallszahlen als mysql id |
|
|
Hallo,
hier der Code:
| Code: |
<?
if($dop_id_count == '0'){
$takid = rand(1,200000);
$sql="SELECT COUNT(AktZaehler) FROM $tak_tab WHERE AktZaehler LIKE '%".mysql_escape_string($takid)."%' LIMIT 1";
$dop_get_count_query = mysql_query($sql) or die(mysql_error() . '<BR><i>' . $sql . '</i>');
$anz='0';
$anz=mysql_num_rows($dop_get_count_query);
}
if($anz=='1')
echo "IDCheck: $takid ist schon vergeben.<br>";
} else {
echo "IDCheck: $takid ist noch frei<br>";
}
?> |
Edit: Habe eben nochmal ein kleines Update am Code gemacht.
mfg. Nico
Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer?
Zuletzt bearbeitet von Outman am 05.06.2005, 15:35, insgesamt einmal bearbeitet |
|
| Nach oben |
|
 |
derHund

: 08.01.2005 : 299
|
| : 05.06.2005, 15:34 : zufallszahlen als mysql id |
|
|
entschuldige bitte, aber das ist total krank
was möchtest du machen? warum muß es eine zufallszahl sein? was stört dich an autoinc?
mein vorschlag: verwende autoincrment ganz normal und jag, um die zufallszahl zu bekommen, noch md5 drüber. |
|
| Nach oben |
|
 |
Outman


: 03.12.2004 : 396 : Saalfeld / Saale
|
| : 05.06.2005, 15:38 : Re: zufallszahlen als mysql id |
|
|
| derHund hat Folgendes geschrieben: |
entschuldige bitte, aber das ist total krank
was möchtest du machen? warum muß es eine zufallszahl sein? was stört dich an autoinc?
mein vorschlag: verwende autoincrment ganz normal und jag, um die zufallszahl zu bekommen, noch md5 drüber. |
Hallo,
ist md5 eine zufallszahl?
mfg. Nico
Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer? |
|
| Nach oben |
|
 |
moviemazler

: 14.01.2005 : 41 : bei München
|
| : 05.06.2005, 15:49 : zufallszahlen als mysql id |
|
|
Hi,
wieso denn unbedingt Zufallszahlen? Und warum eindeutig?
Wenn Du eindeutige Einträge brauchst, dann nimm den aktuellen Zeitstempel und dann nen md5 drüber... das ist mal definitiv eindeutig...
Ich glaube, wenn Du uns nicht erklärst, was Du konkret damit bezwecken willst, macht es wenig Sinn.
Gruß Markus
Suche immer nach Linkpartnern aus dem Entertainment-Bereich (TV, DVD, Kino) |
|
| Nach oben |
|
 |
Litronic

: 19.03.2004 : 90
|
| : 05.06.2005, 17:04 : zufallszahlen als mysql id |
|
|
ich muss für jemanden was programmieren und da hat der vorige programmierer die db mit zufallszahlen als id gefüllt ich weis auch net warum mir wär auto_increment auch lieber
@Outman
ich brauch aber ne schleife das er ne id raussucht die es noch nicht gibt |
|
| Nach oben |
|
 |
Airport1


: 16.08.2004 : 4491 : Backnang / bei Stuttgart
|
| : 05.06.2005, 17:09 : zufallszahlen als mysql id |
|
|
> da hat der vorige programmierer die db mit zufallszahlen als id gefüllt
Herje, und sowas sind die "Programmierer" von morgen. Nein danke PHP verleitet wirklich zum Kruschteln, Frickeln und Vorgehen nach dem Try & Error "Prozessmodell" 
Linktauschanfragen zwecklos
http://www.bot-trap.de/ Spamschutz fuer Webmaster - zentrale Meldestelle fuer Web Spam
http://www.airport1.de/blog/ Lombagruschd Blog mid Gardadierle
http://www.ranking-hits.de/ Counter & PR Service |
|
| Nach oben |
|
 |
Outman


: 03.12.2004 : 396 : Saalfeld / Saale
|
| : 05.06.2005, 17:22 : Re: zufallszahlen als mysql id |
|
|
| Litronic hat Folgendes geschrieben: |
ich muss für jemanden was programmieren und da hat der vorige programmierer die db mit zufallszahlen als id gefüllt ich weis auch net warum mir wär auto_increment auch lieber
@Outman
ich brauch aber ne schleife das er ne id raussucht die es noch nicht gibt |
Hallo,
für was brauchst Du eine Schleife wenn Du nur einen Datensatz holst ?
Du musst nur einen Verbindungs Parameter angeben bei mysql_query();
z.b.:
| Code: |
<?php
$dbname = "";
$dbhost = "";
$dbuser = "";
$dbpwd = "";
$db = @mysql_connect($dbhost, $dbuser, $dbpwd);
@mysql_select_db($dbname, $db) or die ("Keine Verbindung zur MySQL Datenbank");
if($dop_id_count == '0'){
$takid = rand(1,200000);
$sql="SELECT COUNT(AktZaehler) FROM $tak_tab WHERE AktZaehler LIKE '%".mysql_escape_string($takid)."%' LIMIT 1";
$dop_get_count_query = mysql_query($sql, $db) or die(mysql_error() . '<BR><i>' . $sql . '</i>');
$anz='0';
$anz=mysql_num_rows($dop_get_count_query);
}
if($anz=='1')
echo "IDCheck: $takid ist schon vergeben.<br>";
} else {
echo "IDCheck: $takid ist noch frei<br>";
}
?> |
mfg. Nico
Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer? |
|
| Nach oben |
|
 |
Litronic

: 19.03.2004 : 90
|
| : 05.06.2005, 18:19 : zufallszahlen als mysql id |
|
|
| wenn jetzt die id schon vergeben ist will ich das er nochmal mit einer neuen id überprüft ob die schon vergeben ist usw. bis er eine id gefunden hat die noch nicht vergeben wurde |
|
| Nach oben |
|
 |
Outman


: 03.12.2004 : 396 : Saalfeld / Saale
|
| : 05.06.2005, 18:29 : Re: zufallszahlen als mysql id |
|
|
| Litronic hat Folgendes geschrieben: |
| wenn jetzt die id schon vergeben ist will ich das er nochmal mit einer neuen id überprüft ob die schon vergeben ist usw. bis er eine id gefunden hat die noch nicht vergeben wurde |
Hallo,
das musst Du schon selber schreiben, das was ich gemacht habe sollte ein Denkansatz sein. Aber ich schreibe Dir nicht das gesamte Script!
mfg. Nico
Webhosting Partnerprogramm mit 2 Refebenen, PHP Webspace mit .de Domain ab 2 Euro, Zusätzlich suche ich Linkpartner zum Thema "Webmaster". Suchst du einem PHP Programmierer? |
|
| Nach oben |
|
 |
Litronic

: 19.03.2004 : 90
|
| : 05.06.2005, 18:45 : zufallszahlen als mysql id |
|
|
sorry aber ich suche genau wegen der schleife, denn ob id schon vorhanden ist oder nicht funktioniert mit meinem programmcode auch, aber ich habe es nicht hinbekommen diesen code in eine schleife einzubauen
mfg daniel |
|
| Nach oben |
|
 |
Metaman


: 17.04.2004 : 554 : Wittenburg (Mecklenburg)
|
| : 05.06.2005, 19:12 : zufallszahlen als mysql id |
|
|
sorry aber das ist wirklich mehr als Krank....
wenn sich dein Vorgänger aufhängt machst du es auch????
Erkläre dem jenigen für den das Script sein soll einfach warum sowas mit zufallszahlen blödsinn wäre, und weiße den jetzigen Datensätzen einfach eine neue eindeutige ID zu.
denn so eine schleife wie Du sie haben willst, kann sehr schnell nach hinten losgehen..
denn je mehr Datensätze du in der DB hast desto größer die Warscheinlichkeit das die erstellte Zufallszahl schon vorhanden ist...
aber so eine schleife ist eigentlich kein Problem.
$x=1;
while($x != 2){
zufallszahl erstellen
abfrage DB select * from tabelle where id=zufallszahl.
menge der Datensätze mit mysql_num_rows() ermitteln
schleife if menge datesätze <1
wenn ja $x=2;
}
das ganze läuft dann solange bis eine Zahl gefunden wir die nicht in der DB steht,
oder bis der Server das Script beendet oder zusammenbricht
PR 4 Backlink für DICH von der
-- Verrückten Linkliste -- |
|
| Nach oben |
|
 |
Litronic

: 19.03.2004 : 90
|
| : 05.06.2005, 22:52 : zufallszahlen als mysql id |
|
|
| thx metaman es funktioniert, für den ich es machen soll der will es auch mit zufallszahlen weis auch nicht warum aber es ist so |
|
| Nach oben |
|
 |
Metaman


: 17.04.2004 : 554 : Wittenburg (Mecklenburg)
|
| : 05.06.2005, 23:03 : zufallszahlen als mysql id |
|
|
ist trotzdem scheiße.....
wenn er es mit zufallszahlen will, dann doch eigentlich nur aus dem Grund das er eine "zufällige " Sortierung der Einträge wünscht...
und wenn es das alleine ist, dann braucht man dazu keine Zufallszahlen sondern lediglich eine eine sql select Abfrage mit einem order by rand()
oder er möchte keine fortlaufenden Nummern, weil er angst hat das man die inhalte seiner DB über ein Script abgrast....
nur dann nützen ihm die Zufallszahlen auch nichts...
würde mich wirklich mal interessieren welche Gründe es für diese Zufallszahlen geben sollte....
PR 4 Backlink für DICH von der
-- Verrückten Linkliste -- |
|
| Nach oben |
|
 |
Litronic

: 19.03.2004 : 90
|
| : 06.06.2005, 12:50 : zufallszahlen als mysql id |
|
|
| er hat das glaub ich so begründet das Access Zufallszahlen als id vergibt nun will er das hier auch Zufallszahlen vergeben werden |
|
| Nach oben |
|
 |