Inserting a title into a table, if it is a duplicate, I need to number it, such as Title Title 2 Title 3, etc. I thought I could just compare the new title with those in the table by getting the length, then doing something like
"SELECT field FROM tablename WHERE LEFT(field,".$Length.") = '$NewTitle'"
then just count the rows and increment to create the new title and store it. Guess that's not legal. Can't seem to find a simple solution. The entries come through an API, so I can't easily ask users to rename a title if it conflicts.
I came up with this, which doesn't work, but I really don't understand why.
Even if this DID work, it would still pose a problem, as, if you have the title "This Title", and you send another title called "This", since you are using the Title string length, you would find everything that starts with the name "This", so it might be your first entry, but gets saved as "This 250".
$NameLength = strlen($DocName);
SELECT DocName, count(DocName) FROM Pickup GROUP BY DocName HAVING LEFT(DocName,'$NameLength') = '$DocName'";
So, if I have three titles, "Title"; "Title 2"; "Title 3", I thought I could then do
$D = mysql_fetch_array($Result);
$RCount = ($D[count(DocName)]) + 1;
$NewTitle = $DocName.' '.$RCount;